人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQLを用いたウェブ制作について詳しい方に質問です。

ウェブ制作するにあたって、
<h#>?</h#> や <p>?</p> <a href="*">?</a> の内容など、
見出しや本文など、「内容の文字列」は、MySQLのレコードとして保存しておいて、
HTMLファイル(閲覧用)、PDFファイル(印刷用)などのように、
用途に応じて最適な形式に出力したり、
MySQL内に言語別の文字列を(UTF-8で)用意しておいて、
閲覧者のブラウザの設定言語などに応じて出力するように
したいと思います。

このような場合、世のウェブ制作者様方はどのような手法を用いるのでしょうか? JavaScript でできるでしょうか? それとも、サーバーサイドJava などのような、より複雑な手法が必要でしょうか?

できれば、テンプレートなどもMySQLに保存しておきたいと思っております。

イメージとしては、MySQLのレコードが更新されると、サーバーサイドスクリプトなどが、適時HTMLやPDFファイルなどを書き換える、というような挙動です。

幅広い視点からのご意見を願います。



●質問者: Web-Production
●カテゴリ:インターネット ウェブ制作
✍キーワード:HTML Java JavaScript MySQL PDFファイル
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● もすぴー
●19ポイント

普通はPHPなど使うと表示部分はテンプレートとして分離しておきます。smartyなどが有名です。

CakePHPなどのMVCフレームワークを使っていてもやはり通常表示部は分離します。

通常、文字装飾までDBに入れることはありません。

◎質問者からの返答

ありがとう存じます。

私はPHPができませんので、Java系の技術で何とかしたいのですが…


2 ● kent0608
●27ポイント

JavaScript でできるでしょうか? それとも、サーバーサイドJava などのような、より複雑な手法が必要でしょうか?

javascriptを使って動的に(要求に応じて)出力される内容を変化させる方法を考えてみましょう。

おそらくjQueryなどのライブラリを使用し、クライアント側(ブラウザ)上からサーバに対して

非同期でHTTPリクエストを発行し、それを受けたサーバ側がJavaやPHP等を用いてMySQLなどのRDBMSから

表示すべき内容を取得し、結果をブラウザへと返し、ブラウザ側(jQuery)で結果を描画する事になると思います。

ここまでの内容を理解できた人なら自明ですが、そうでない場合でも、「なんだかややこしくて難しそうだ」という事は分かりますよね。

結論を言いましょう。javascript(Ajax)を使ってこの問題を解決する方が、一般的な動的サイトを構築する手法よりも複雑です。

どのみちサーバ側に置かれるMySQLなどのデータベースから中身を取り出すためには、なんらかの

サーバサイド・プログラミング言語の力を借りなければいけません。

html + css + javascript

だけでは解決できませんので、まずはwebアプリケーションの開発方法について学習されることをオススメします。

適当な入門書のプレビューを置いておきます。

http://books.google.co.jp/books?id=Y_QJ17xYDXUC&printsec=frontco...

(個人的な判断ですが、ruby on railsを選択しました。Java & Strutsなど、他の言語&フレームワークを選択しても問題ありません。)

このような場合、世のウェブ制作者様方はどのような手法を用いるのでしょうか??(途中省略)?

イメージとしては、MySQLのレコードが更新されると、サーバーサイドスクリプトなどが、適時HTMLやPDFファイルなどを書き換える、というような挙動です。

一般的なwebアプリケーションを開発する手法で対応できます。

また、HTMLを書き換える必要はありません。大抵のWebアプリケーションフレームワークにはテンプレートエンジンという仕組みがあり、動的に出力するHTMLを変更できるからです。

PDFで出力したい場合にはGoogleに「PDF Rails 出力」など、適切な語句を入力すれば答えが分かります。

http://www.google.co.jp/search?q=rails+pdf+%E5%87%BA%E5%8A%9B

◎質問者からの返答

>サーバ側に置かれるMySQLなどのデータベースから中身を取り出すためには、なんらかのサーバサイド・プログラミング言語の力を借りなければ

なるほど。

>webアプリケーションの開発方法について学習されることをオススメします

具体的な指針をありがとうございます。ウェブアプリはいずれ作れるようにならなければ、と思っていましたので、そういたします。

>ruby on rails […] Java & Struts

Javaにしようかと思います。Javaの知識には汎用性がありそうだと思われますので。

>大抵のWebアプリケーションフレームワークにはテンプレートエンジンという仕組みがあり

そうなのですか! それは良いですね。

色々とありがとうございます。大変助かりました。


3 ● Galapagos
●18ポイント

JavaサーブレットからMySQLを利用する形になります。

まず、JDBCドライバを経由してMySQLに接続できるようにします。

◎質問者からの返答

ありがとうございます。


4 ● ko8820
●18ポイント

JavaScript だけでは、DBにアクセスしてデータを取り出すことができません。

サーバーサイドJava などの、サーバーサイドで動作するものが必要です。

サーバーのほうは、単にSQL文を受け取ったらデータをXML形式で返すようなインターフェースを

一個作っておけば、残りは、JavaScript だけでも実装は可能です。

しかしながらこのような方法は通常使われません。

JavaScript の方でいろいろなロジックを実装するのは煩雑になりがちだからです。

サーバーサイドJava(JSPも含む)のほうで実装します。

Javaでもフレームワークを使うのが主流です。

Seasar 2 徹底入門 SAStruts/S2JDBC 対応
竹添 直樹
4798121509

もちろん、フレームワークを使わなくても、作れます。

◎質問者からの返答

>サーバーのほうは、単にSQL文を受け取ったらデータをXML形式で返すようなインターフェースを

一個作っておけば、残りは、JavaScript だけでも実装は可能です。

しかしながらこのような方法は通常使われません。

JavaScript の方でいろいろなロジックを実装するのは煩雑になりがちだからです。

サーバーサイドJava(JSPも含む)のほうで実装します。

Javaでもフレームワークを使うのが主流です。

プロのご視点からのご助言、大変参考になります。ありがとうございます。


5 ● Galapagos
●18ポイント

サーバサイドで行います。

絶対的な方法ではありませんが、よく使われる方法を以下に記します。


クライアントからのリクエストに付いてくるUSER_AGENTを参照し、ブラウザの言語を判定します。

その言語に応じた文字列及びエンコード方式(これ重要)を応答します。


Javaであればサーブレットを使います。「HTTPヘッダーの取り扱い」を参考にしてください。

◎質問者からの返答

>クライアントからのリクエストに付いてくるUSER_AGENTを参照し、ブラウザの言語を判定します。

その言語に応じた文字列及びエンコード方式(これ重要)を応答します。[…]Javaサーブレットを使います[…]HTTPヘッダーの取り扱い

具体的なご指針、ありがとう存じます。直接的に参考になり、助かります。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ