前方およびリダイレクト5.1.9サーブレットでの違いは何ですか
Webアプリケーションの設計において、しばしば異なるサーブレットは、サーブレットは、ユーザの要求を受け取る一方が、別のサーブレットは、ユーザを処理することを可能にするような異なる機能を達成するように、即ち、モジュールに応じて分割、システムアーキテクチャ設計に必要リクエスト。そのようなモジュラープログラムを達成するために、我々はそれを確認する必要がありフォワードモードと道をリダイレクト:異なる相互サーブレット、サーブレットの間でジャンプすることができますし、ジャンプを達成するために、主に二つの方法があります。
前方内部サーバーリダイレクト、直接ターゲットアドレスにアクセスするサーバーのURLで、URLが終わっ読むこと、およびクライアントが知らないことを応答内容は、それはアドレスは、クライアントのブラウザを回すアドレスバーに表示されていません、または元のアドレス。全体のプロセスは同じリクエスト、リクエストによって指示され、その情報は、JSPやサーブレットを使用するために配向されて前方にもたらすでしょう。
リダイレクトは、アドレスジャンプ、ジャンプが完了し、クライアントをリダイレクトすること、すなわち、クライアントのブラウザがジャンプのアドレスを取得し、その要求を再送信するので、ブラウザが表示されています。その効率は、順方向モードよりも低くなるように、同時に、方法よりも、このようにしているので、ネットワークに要求を転送します。ことに留意すべきであるクライアントはリダイレクトすることができます HTTPヘッダの特定を設定することによって、または書き込みJavaScriptスクリプトを達成します。
前方内部リダイレクト、リダイレクト外部リダイレクト
拡張:フィルタの役割は何ですか?何を達成するための主な方法は?
ユーザーがリクエストの応答を変更し、変更することができるので、フィルタ。フィルタはサーブレットではなく、それが応答を生成することができないが、それは、前の要求が到達要求サーブレットに前処理することができるサーブレットを出るときに、応答が処理されてもよいです。フィルタは、実際には、「サーブレットの連鎖」です。
フィルタ効果は次のとおりです。
サーブレットが呼び出される前に、1)傍受。
サーブレットが呼び出される前に、2)サーブレット要求を確認してください。
3)変更要求のリクエストヘッダとデータを、必要に応じ。
4)応答レスポンスヘッダと、必要に応じてデータを変更します。
サーブレットが呼び出された後5)傍受。
5.1.10 JSPは、内蔵されたオブジェクト
JSPでは、組み込みオブジェクトも暗黙オブジェクトとして知られている、であることが宣言せずにメンバ変数の数を参照し、使用するために作成することができません。要求(リクエスト・オブジェクト)、応答(レスポンスオブジェクト)のpageContext(ページ・コンテキスト・オブジェクト)、セッション(セッション・オブジェクト)、アプリケーション(アプリケーションオブジェクト)、OUT(出力先)、設定(構成:JSPは、9つの組み込みオブジェクトの合計を提供しますオブジェクト)、ページ(ページオブジェクト)と例外(例外オブジェクト)。
JSPは、ビルトイン特に、表5-1に記述されたオブジェクト。
;第二、および入力/出力アウトに関連する、要求と応答;第三のカテゴリー、最初のページ、および関連する設定およびサーブレット:9以上の組み込みオブジェクトの効果に応じて、彼らは4つのカテゴリに分けることができますコンテキスト関連のアプリケーション、セッションおよびpageContextのと。
主な方法は何5.1.11リクエストオブジェクト
当使用 JSP 与 Servlet 开发 Web 应用程序时,如何获取用户提交的请求信息是非常重要的内容之一。request 对象就是用来封装用户请求数据的,每当有请求到达服务器时,系统都会创建一个 request 对象。在服务器进行处理时可以通过获取 request 对象的属性来获取用户的请求数据。此外,还可以通过对 request 对象设置新的一些属性来实现在 Servlet 与 JSP 之间跳转时传递一些参数的功能。
5.1.12 JSP 有哪些动作
JSP 使用动作来实现动态地插入文件、实现重定向和对 JavaBean 的引用等功能。
1)jsp:include。用来在页面被请求时引入一个文件。include 指令是在 JSP 文件被转换成 Servlet 时引入文件,而 jsp:include 插入文件的时间是在页面被请求时,而且被引用文件不能包含某些 JSP 代码(例如不能设置 HTTP 头),示例如下:
2)jsp:useBean。用来寻找或者实例化一个 JavaBean。它使得开发人员既可以发挥 Java 组件重用的优势,同时也避免了损失 JSP 区别于 Servlet 的方便性,示例如下:
3)jsp:setProperty。用来设置已经实例化的 Bean 对象的属性,示例如下:
4)jsp:getProperty。用来获取某个 JavaBean 的属性,示例如下:
5)jsp:foward。用来把请求转到一个新页面,示例如下:
6)jsp:plugin。用于在浏览器中播放或显示一个对象。使用这个动作能插入所需的特定的浏览器的 OBJECT 或 EMBED 元素来指定浏览器运行一个 JAVA Applet 所需的插件,示例如下: