うち、設定、ページ、pageContextの、例外、要求、応答、アプリケーション、セッション:あなたは、ドキュメントのいくつかのこのセグメントを監視JSPで以下の9つのオブジェクトを使用している必要があります。このように:
< HTML > < ヘッド> < メタHTTP-当量= "Content-Typeの" コンテンツ= "text / htmlの;のcharset = UTF-8" > < タイトル>ここで挿入タイトル</ タイトル> </ ヘッド> < 身体> <! - JSPの脚本片段:用来在里面写のJava代码- > <% ため(INT iが= 0 ; I < 10 ; I ++ ){ out.print(I)。 } %> <!- > <%= " 私はJSPの表現だ" %> <! - JSP 9つの暗黙オブジェクト- > < H1 >ようこそ、<%= request.getParameter(" ユーザ名" )%> </ H1 > </ ボディ> </ HTML >
オブジェクトは、段落タグ上述のスクリプトフラグメントで使用されるが、これは、オブジェクトがそれから出てくる方法ですか?我々は唯一、私たちは、その中の例外ではなく、特別なこの長期隠されたオブジェクトの作成を支援するために、サーブレットクラスである各ファイルに対応するJSPを生成します、Tomcatサーブレットを導入することを基本原理について前のJSPのあなたはJSPファイルには、isErrorPage =「true」を指定した場合に、Tomcatのサーブレットクラスは例外オブジェクトのjspでこの目的のために作成されます。
隠されたオブジェクトの使用は、JSPファイルに表示されますが、オブジェクト隠されたすべてのJSPファイルは、エビデンスベースですので、実際に、対応するサーブレットクラスでそれを使用していますが。9人の被験者では、4つのより具体的な、そしてまた、より重要なのは、彼らが呼ばれたドメインオブジェクトがあります。
それらは:ページ、リクエスト、セッション、アプリケーション 。以下は、4の違いを説明します。<%ページ言語@ = " Javaの" contentTypeの= " テキスト/ HTML;のcharset = UTF-8 "
pageEncodingは= " UTF-8 " %> <!DOCTYPE用HTML PUBLIC " - // W3C // DTD HTML 4.01移行// EN" "http://www.w3.org/TR/html4/loose.dtd" > < HTML > < ヘッド> < メタHTTP-当量= "Content-Typeの" コンテンツ= "text / htmlの;のcharset = UTF-8" > < タイトル>ここで挿入タイトル</ タイトル> </ ヘッド> < 身体> <! タイプフィールドオブジェクト:PageContextの 要求フィールドの 範囲:現在の要求(第1の要求を) ドメイン・オブジェクトに対応する:リクエスト・ オブジェクトのタイプフィールド:HttpServletRequestの セッションフィールドの 範囲:現在のセッション(セッション) ドメインオブジェクト対応する:セッション・ タイプ・フィールド・オブジェクトを:のHttpSession ドメイン適用 範囲:現在のWebアプリケーション オブジェクトのドメインに対応する:アプリケーション・ オブジェクトのタイプフィールド:のServletContext 4ドメインオブジェクトは、次の3つの方法である: ボイドのsetAttribute(文字列キー、オブジェクト値) のgetAttribute(文字列キー)オブジェクト 無効removeAttribute(文字列のキー) 4つのドメインオブジェクトを使用してルール: 使用の小さなはあまり持っていません - > <! -4つのフィールドである現在のページに4つの属性を追加します- > <% pageContext.setAttribute(" pageKey " 、" pageValue " ); request.setAttribute(" reqKey " 、" reqValue " ); にsession.setAttribute(「sesskey " " sessValue " ); application.setAttribute(" のAppKey " " appValue " >現在のページの4つのフィールドのプロパティ値を取得します。); %> < のH1 </ H1の> 属性値のページのドメインがある:<%= pageContext.getAttribute(" pageKey " )%> < BR > 属性値ドメイン要求である:<%= request.getAttribute(" reqKey " )%> < BR > 属性値ドメインセッション:<%= session.getAttribute(" sesskey " )%> < BR > アプリケーションの属性値フィールドがある:<%=application.getAttribute(" APPKEY " )%> < BR > <! - 转发到scope2.jsp页面- > <%- < JSP:前方ページ= " /scope2.jsp " > </ JSP:前方> - - %>
< A HREF = "/ Web_JSP / scope2.jsp" >去scope2.jsp页面</ A > </ ボディ> </ HTML >
<%@ページ言語= " javaの" contentTypeの= " text / htmlの;のcharset = UTF-8 " pageEncodingは= " UTF-8 " %> <!DOCTYPE用HTML PUBLIC " - // W3C // DTD HTML 4.01移行// EN" "http://www.w3.org/TR/html4/loose.dtd" > < HTML > < ヘッド> < メタHTTP-当量= "Content-Typeの" コンテンツ= "text / htmlの;のcharset = UTF-8" > < タイトル>ここに挿入のタイトル< > < ボディ> < H1の>ページ属性の値は、4つのドメインを取得しscope2.jsp </ H1の> 属性値のページのドメインです:<%= pageContext.getAttribute(" pageKey " )%> < BR > リクエストドメイン属性値である:<%は= request.getAttribute(" reqKey " )%> < BR > 属性値ドメインセッションがある:<%= session.getAttribute(" sesskey " )%> <BR > アプリケーションドメインの属性値は次のとおりです。<%= application.getAttribute(" のAppKey " )%> < BR > </ ボディ> </ HTML >
上記、物体視野内の4つの値に設けられ、このページでは、ページは、その理由は、現在のページの4つのオープンドメインオブジェクトが対応する値を取り出すことができ、ページによって本ページはpagevalueを転送し除去することができないでしょうページスコープは、このドメインのページでは、他のページは、このページのページオブジェクトの値を取得することはできません。
そして、あなたが代わりに前方にジャンプした場合、再びサーバに要求を送信することを、あなたは第二のページpagevalueとreqValueがあるため、最初の要求に制限されている要求オブジェクトの範囲を取り出してきた要求されたでしょう、それは上記にできるようになりましたなぜならページジャンプものの、暖かい値を得るが、道をジャンプして、2ページ目はとても本質的には、要求され、「前方」です。この時間とページ番号2にアクセスするために、別のブラウザで、あなただけのアプリケーションの値を得ることができる場合は、その理由は、セッションスコープで一つのセッションに制限されています。そして、ページ番号2にアクセスし、サーバーを再起動し、そして後に、4つの値が使用できません。