一、JSP - >サーブレット
JSPページ値サーブレットを渡すために3つの方法があります。他の形式のフォーム、URL、
<! - JSPページ - >
...
<%......
session.setAttribute( "testSession"、 "ハローセッション");
request.setAttribute( "testRequest"、 "ハローリクエスト");
%>
<a href="JspServlet?action=toServlet">私をクリックする</a>
<フォームアクション= "のJspServlet?アクション= toServlet" メソッド= "ポスト" 名前= "フォーム">
<入力名=「ユーザ名」タイプ=「テスト」/>
<input type = "提出" の値を "提出" =>
</フォーム>
...
図1に示すように、そのような<INPUT>タグなどのJSPページのフォームのフォームの内容、サーブレット缶request.getParameter(「ユーザ名」);取得。
2、URL:例えば、ここでタグなどhref属性<A> <FORM>タグのaction属性値同じピックサーブレットrequest.getParameterで、(「アクション」)ことに留意すべき「のJspServletアクション= toServlet?」本明細書にレーンの<url-pattern> web.xmlのパスタグサーブレットに対応するURL。これは後述します。
図3に示すように、Javaコードフラグメントのみにsession.setAttributeにサーブレット(「testSession」、「ハローセッション」)コンテンツ、及びその要求の内容はできません。()のgetAttribute(「testSession」)サーブレット内でrequest.getSessionとコンテンツセッションを得ました。
二、サーブレット - > JSP
nothingから、JSP、サーブレットに行く以上の二つの方法、リダイレクトとURL転送
1、リダイレクション(リダイレクト):スキップは、コンテンツおよび変更パスのURLです。これは、サーブレット要求オブジェクト内のsetAttributeメソッドを使用して次のページに渡すことができない要求パラメータ(セッションパラメータ)を、許可しません。使用response.sendRedirect(URL)サーブレットの方法。response.sendRedirect( "なtest.jsp")としてフロントURLのスラッシュなし/、ここで注意してください
2は、URL転送(フォワード)は:変わらず、URL、ページジャンプページのコンテンツの変更です。あなたは、要求とセッションパラメータを取ることができます。サーブレットでの使用のgetServletConfig()。のgetServletContext()。GetRequestDispatcher(URL)の.forward(リクエスト、レスポンス)。前者はここに影が必要ですが、URL /などのgetServletConfig()。のgetServletContext()。GetRequestDispatcher( "/なtest.jsp")。フォワード(リクエスト、レスポンス)