servletコンテナとwebコンテナの概念
1952 ワード
,servlet servlet 。 web web , web 。 , web , EJB , , weblogic websphere , , 。web tomcat ,Tomcat web servlet 。
一、request.getParameter()とrequest.getAttribute()区別(1)request.getParameter()の取得は、post,getなどの方式で伝達するデータ、requestをコンテナの実現により取得する.setAttribute()とgetAttribute()は、Webコンテナ内を流れるだけで、リクエスト処理フェーズにすぎません.(2)request.getParameter()メソッドで渡されるデータは、HTTPリクエストデータを表すWebクライアントからWebサーバ側に渡されます.request.getParameter()メソッドはStringタイプのデータを返します.request.setAttribute()メソッドとgetAttribute()メソッドで渡されるデータは、Webコンテナの内部にのみ存在するもう1つは、HttpServiceletRequestクラスにはsetAttribute()メソッドがあり、setParameter()メソッドはありません.一つの例を挙げると、2つのWEBページ間がリンク関係である場合、つまり1.jspは2にリンクする.jspの場合、リンクされるのは2.jspはgetParameter()メソッドにより要求パラメータを得ることができる.もし1.jspにはユーザー名を入力してください.
の場合は2.jspでrequestを通過する.getParameter(「username」)メソッドは、要求パラメータusername:<%String username=requestを得る.getParameter(“username”); %> しかし、両WEB間が転送関係である場合、転送先WEBはgetAttribute()メソッドで転送元WEBとrequest範囲内のデータを共有することができるのも、やはり一例であろう.1.jspと2.jsp 1.jsp希望向2.jspは現在のユーザー名を渡し、このデータをどのように渡しますか?まず1.jspでは、次のsetAttribute()メソッドが呼び出されます.
<% String username=request.getParameter(“username”); request.setAttribute(“username”,username); %> 2.jspではgetAttribute()メソッドによりユーザ名を取得する:<%String username=(String)request.getAttribute(“username”); %> 二、request.getAttribute()とrequest.setAttribute() request.getAttribute(「nameOfObj」)は、JSPページのフォーム内のコントロールのValueを得ることができます.実はフォームコントロールのObjectのnameとvalueはハッシュテーブルに格納されているので、ここでObjectのnameを与えるとハッシュテーブルに対応するvalueが見つかります.また、異なるページ間の値伝達にはrequestが用いる.settattribute(position,nameOfObj)の場合、a.jspからb.jspへ一度だけ伝達され、その後このrequestはその作用範囲を失い、もう一つのrequestが設定.setAttribute().セッションを使用します.setAttribute()は、1つのプロセスで常にこの値を保持します.P.S.:JavaScriptとJSPは互いに値を伝達できない.JavaScriptはクライアントで実行され、JSPはサーバ側で実行されるからだ.パラメータを相互に渡すには、JSPでhiddenコントロールを設定し、上記の使用法と組み合わせてvalueを使用して必要な数値を渡すことができます.