2014年03月08日
【Java】Servletで掲示板を作るロジックを学ぶ
プログラミングプログラミング言っているけど、大したプログラム書いたことないな。
と思っているのが実情でして、なかなかまとまった時間が取れないことを言い訳に
書いていないわけですが、そもそも設計がしっかりできていれば、
ロジックごとに一つ一つプログラムを書けばいいわけで、時間がなくてもできるのだよ。というのが、真実です。
とりあえずは、本に書いてある掲示板をServletで動かすまでのプログラムの構成を見てみました。
さらっと読みましたが、ブログなどの作成にも応用できるなと思いました。
構成は以下の通りでした。
・1記事を表すクラス
連番、タイトル、内容、投稿日時などの情報を取得、保持、送出するクラス。
・掲示板のロジックを書くクラス
掲示板記事の一覧を取得。掲示板に投稿する。
・リクエストエンコードフィルタのクラス
文字化けしないようにするフィルタ
・投稿サーブレット
記事の投稿を行うサーブレット
・閲覧サーブレット
記事の閲覧を行うサーブレット
・index.jsp
トップ画面
・read.jsp
掲示板の閲覧や投稿を兼用する画面
・web.xml
Webアプリの設定ファイル
こういった構成をまず考えるのが大事なわけですね。
動きとしては、
1.
index.jspを読み込むと、閲覧サーブレットが呼ばれ、
ロジックを書くクラスや、記事の内容が呼び出され、read.jspの処理内容が表示され、
投稿画面と、過去に投稿した記事の一覧が表示される。
2.
read.jspの投稿画面にて記事を投稿すると、投稿サーブレットが呼び出されて、
ロジックを書くクラスに記事を表すクラスに値をあてはめ、処理を渡す。
そして、read.jspをリロードし、投稿した内容を表示。
うーん、理屈はよくわかるが、これを設計して、
一つ一つ書いていくというのは中々できそうで出来ないですな。
また、メモリ上で処理をさせているので、掲示板の投稿内容が保持されるのは、
Tomcatが起動している間だけ。本格的な掲示板を作るには、JDBC.そうデータベースの構築が必要。
過去にもJDBCの記事を書きましたので割愛しますが、
もし、改修するなら掲示板のロジックを書くクラスに、データベースへの追記に関してのプログラムの改修。
データベースに接続するクラスを追加する必要があります。
これくらいは一人でできて当然なんだろうな。
まずは、本を参考に作ってみて、次は見ないで調べながら作ってみて・・・と慣れていこうかな。
この辺をなれていけば、サーブレットを使ったゲーム作成とかも可能なはずなんだよな。
と思っているのが実情でして、なかなかまとまった時間が取れないことを言い訳に
書いていないわけですが、そもそも設計がしっかりできていれば、
ロジックごとに一つ一つプログラムを書けばいいわけで、時間がなくてもできるのだよ。というのが、真実です。
とりあえずは、本に書いてある掲示板をServletで動かすまでのプログラムの構成を見てみました。
さらっと読みましたが、ブログなどの作成にも応用できるなと思いました。
構成は以下の通りでした。
・1記事を表すクラス
連番、タイトル、内容、投稿日時などの情報を取得、保持、送出するクラス。
・掲示板のロジックを書くクラス
掲示板記事の一覧を取得。掲示板に投稿する。
・リクエストエンコードフィルタのクラス
文字化けしないようにするフィルタ
・投稿サーブレット
記事の投稿を行うサーブレット
・閲覧サーブレット
記事の閲覧を行うサーブレット
・index.jsp
トップ画面
・read.jsp
掲示板の閲覧や投稿を兼用する画面
・web.xml
Webアプリの設定ファイル
こういった構成をまず考えるのが大事なわけですね。
動きとしては、
1.
index.jspを読み込むと、閲覧サーブレットが呼ばれ、
ロジックを書くクラスや、記事の内容が呼び出され、read.jspの処理内容が表示され、
投稿画面と、過去に投稿した記事の一覧が表示される。
2.
read.jspの投稿画面にて記事を投稿すると、投稿サーブレットが呼び出されて、
ロジックを書くクラスに記事を表すクラスに値をあてはめ、処理を渡す。
そして、read.jspをリロードし、投稿した内容を表示。
うーん、理屈はよくわかるが、これを設計して、
一つ一つ書いていくというのは中々できそうで出来ないですな。
また、メモリ上で処理をさせているので、掲示板の投稿内容が保持されるのは、
Tomcatが起動している間だけ。本格的な掲示板を作るには、JDBC.そうデータベースの構築が必要。
過去にもJDBCの記事を書きましたので割愛しますが、
もし、改修するなら掲示板のロジックを書くクラスに、データベースへの追記に関してのプログラムの改修。
データベースに接続するクラスを追加する必要があります。
これくらいは一人でできて当然なんだろうな。
まずは、本を参考に作ってみて、次は見ないで調べながら作ってみて・・・と慣れていこうかな。
この辺をなれていけば、サーブレットを使ったゲーム作成とかも可能なはずなんだよな。
【Javaの最新記事】
この記事へのコメント
https://www.ringeraja.hr/forum/corrector_de_juanete_casero_)_venta_sin_receta/m_960387/tm.htm
https://camp-fire.jp/profile/Strattera-2622119083
https://camp-fire.jp/profile/Carisoprodol-10142685
https://camp-fire.jp/profile/Diazepam-2917589103
弊社は各ランクのブランド商品満載し、ブランド通販店で一番信用のある店なので!。
品質はこちらが間違いなく保証します。
相互信頼を旨(むね)として貿易関係を結びたいのですが。
今後ともよろしくご愛顧くださいますよう、お願い申し上げます
URL:
https://www.88kopi.com/product/product-474.html
■取扱ブランド ルイ.ヴィトン、シャネル、クリスチャン ディオール、グッチ、コーチ、ROEXL 、S品、A品、超A品
■主要取扱商品 バッグ、財布、腕時計、靴、服、ベルト、ネクタイ、ライタ!
お取り引きを開始させていただきたく思います。
詳細に関してはどうぞお気軽にご連絡ください。
https://www.88kopi.com/menu/menu-92.html
品質はこちらが間違いなく保証します。
https://www.ginzaoff.com
■取扱ブランド ロレックス時計コピー、カルティエ時計コピー、IWC時計コピー、
ブライトリング時計コピー、パネライ時計コピー.
◆ スタイルが多い、品質がよい、価格が低い、実物写真!
◆ ご入金頂いてから最速4日、遅くとも7日程度でご指定場所へ発送出来る予定でございます
◆ 商品送料を無料にいたします
◆信用第一、良い品質、低価格は 私達の勝ち残りの切り札です。
◆ 当社の商品は絶対の自信が御座います。
◇ N品質 シリアル付きも有り 付属品完備!
◆ 必ずご満足頂ける品質の商品のみ販売しております。
◇ 品質を最大限本物と同等とする為に相応の材質にて製作している為です。
◆ 絶対に満足して頂ける品のみ皆様にお届け致します。
興味あれば、是非一度サイトをご覧になって下さい。
今後ともよろしくご愛顧くださいますよう、お願い申し上げます
https://www.ginzaoff.com
お取り引きを開始させていただきたく思います。
詳細に関してはどうぞお気軽にご連絡ください。
おはようございます。
そうですね。
今後、この辺は区別が着くようにしておいた方がいいかもしれませんね。PHPはまだしも、JavaScriptでは、かなり厳しいと思います。
そうですね。何事も知識+経験です。
頭に思い描いているぼんやりしていることを一つ一つ明確に実践できるようになることが大切ですね。
こういうのは、てっきりPHPとかJavaScriptでやるものと思ってましたww
それ以前に、プログラミング言語の区別すらついていなかったりするんですが・・・
理屈は分かるけど、っていうのは、プログラミングに限らずですよねえ。
そこから自分のものにしていくのに、時間が掛かるんだよ・・・ッ!
と、イラスト練習をしながら思ったことでした。