1. Top » 
  2. スポンサー広告 » 
  3. 【Java】複数のサーブレットを組み合わせるための画面遷移の話
  4. Parabola Journal » 
  5. 【Java】複数のサーブレットを組み合わせるための画面遷移の話

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • Genre:

【Java】複数のサーブレットを組み合わせるための画面遷移の話

サーブレットから他のリソースへリクエストを転送することをディスパッチといいます。
英語の綴りはdispatchです。
リソースとは平たく言えば、他のサーブレット、JSP、HTMLなどのことです。
サーブレットではjavax.servlet.RequestDispatcherインタフェースによってディスパッチを行います。

ところでディスパッチにはフォワードインクルードの二つがあります。
フォワードの場合、転送先のリソースに出力を任せます。
インクルードの場合、転送先のリソースの出力をインクルードします。
それぞれforward/includeのメソッドで行い、request/responseを渡します。
ここではよく使うforwardの方を使ってみます。

サーブレット→サーブレット
hogeプロジェクト→Java Resources:src→hoge右クリック→ForwardServlet1.java
hogeプロジェクト→Java Resources:src→hoge右クリック→ForwardServlet2.java

ForwardServlet1の方には次のように書きます。
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
RequestDispatcher dis = request.getRequestDispatcher("/ForwardServlet2");
dis.forward(request, response);
}


ForwardServlet2の方には次のように書きます。
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/plain; charset=Windows-31J");
response.getWriter().println("Servlet2からの出力");
}


実行はForwardServlet1の方を実行します。右クリック→Run As→Run on Serverです。
すると次のように実行されます。

j2ee_08_01.jpg

このようにサーブレット2からの出力が表示されます。


ところで
サーブレット→JSPの場合、リンク(Stringで与えられている)をjspへのリンクに変えればいい。
またフォワードされる前のサーブレットからは出力処理をしません。
出力処理、つまりresponseへの処理はバッファに一度蓄えられているのですが
フォワードしたときにバッファがクリアされてしまって反映されません。
ですので出力処理はすべてフォワードされた後のサーブレットで行います。



category of Haskell:
Java】サーブレット/JSPを書く勉強をするための環境について知っていること(一回目)
Java】サーブレット/JSPを書く勉強をするための環境について知っていること(二回目)
Java】開発環境を活用してサーブレットを書く。
Java】サーブレットの基本的な話をする
【Java】JSPの話へと移る
【Java】JSPからサーブレットを呼び出す
【Java】パラメータを渡す
関連記事
スポンサーサイト

Comment

コメントフォーム
このエントリへコメントを書く
(任意)
(任意)
(任意)
(必須) HTMLタグは使用できません
(任意) ID生成と編集に使用します
(任意) 非公開コメントにする

Page Top

Trackback

Trackback URI
http://parabola0.blog86.fc2.com/tb.php/548-98f1e6af この記事にトラックバックする(FC2ブログユーザーのみ)

Page Top

訪問者

お引っこし。 http://parabola.sblog.jp/

プロフィール

parabola0

Author:parabola0
Twitter用ですが…。
プロフィール

最新記事
最新コメント
最新トラックバック
カテゴリ
月別アーカイブ
検索フォーム
リンク

このブログをリンクに追加する

QRコード
QRコード
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。