SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

GlassFishからアプローチするJava

GlassFishからアプローチするJava~入門編~
第2回「Webアプリケーションの作成 Servletの基礎を学ぶ」

Servletって何?


Servletを作る準備をする

 Servletを作成するには左側のペインにあるプロジェクト[ServletThreadsTest]を右クリックし、[新規]‐[サーブレット]を選択すると、図11の「名前と場所」画面が開きます。クラス名はできるだけクラスの責務が分かるように付けることが大切です。この例ではAddNumberServletと命名します。パッケージ名はjp.kawakubo.glassfishsampleと付けていますが、クラスがインターネットで唯一になるようにします。jp.kawakuboは筆者がもっているドメイン名kawakubo.jpから付けているため、インターネットで同じパッケージ名は存在しないことになります。インターネットに公開しないのであれば、testなりservlettestなど、後で分かるような名前で十分です。

図11.「場所と名前」画面
図11.「場所と名前」画面

 図11で[次へ]ボタンをクリックすると図12の「サーブレット配備を構成」画面が開きます。図11でインターネットで唯一になるようにパッケージ名+クラス名を付けました。ただし、これでは名前が長すぎます。アプリケーション内部でユニークになるよう[サーブレット名]を付けます。ここではAddNumberServletとします。[URLパターン]も/AddNumberServletとします。このURLパターンがHTMLやJSPを結び付けるときの名前になります。

図12.「サーブレット配備を構成」画面
図12.「サーブレット配備を構成」画面

ひたすら足し算するServletを作る

 図12で[完了]ボタンをクリックすると、図13のようにNetBeansが自動的にServletのひな型(クラス名は図11で命名したAddNumberServlet)を作ってくれます(エディタの折りたたみ機能を使ってメソッドの内容は見えないようにしています)。あくまでもHttpServletを継承したものなので、GenericServletが持っているinitメソッドやdestroyメソッドなどのライフサイクルに関するメソッドは用意されていません。initdestroyメソッドを使う場合は、自分で作成する必要があります。

図13.自動生成されたServletのひな型
図13.自動生成されたServletのひな型
メソッドの説明
  • processRequestは実はGenericServletにもHttpServletにもないメソッドでNetBeansが用意してくれるメソッドです
  • doGetdoPostはHttpリクエストタイプのgetpostを処理するメソッドです。Httpリクエストタイプにはgetpostputdeleteがあります。HttpServletにも各々に対応したdoGetdoPostdoPutdoDeleteメソッドはありますが、doPutdoDeleteは滅多に使われることがないため、用意されていません。またdoGetdoPostも同じ処理を行わせることが多いため、doGetdoPostprocessRequestを呼び出すようになっています。したがって、リクエストを受け取った後の処理はprocessRequestに記述することになります
  • getServletInfoは名前の通り自分自身の情報を提供するために使います

次のページ

この記事は参考になりましたか?

GlassFishからアプローチするJava連載記事一覧

もっと読む

この記事の著者

川久保 智晴(カワクボ トモハル)

haruプログラミング教室(https://haru-idea.jp/)主宰。COBOL、FORTRANで13年、Javaを中心としたWeb開発で11年。3つしか言語知らないのかというとそうでもなく、sed/awk、Perl、Python, PHP,  C#, JavaScriptなども一時期は業...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/4748 2010/02/12 11:06

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー