在JSP中可以使用 request、response、session 等等的隱含物件,這些隱含物件在轉換為Servlet之後,會對應於Servlet中的一些型態,這在之前談論隱含物件時曾經說明過,如果您會使用隱含物件,並瞭解如何撰寫Java程式,那麽您對於在Servlet中如何使用相對應的物件並不困難,在這邊則只看看如何在Servlet中取得這些對應的物件,然後您可以回顧一下之前介紹過的JSP隱含物件,瞭解這些物件可以如何應用。
request對應於HttpServletRequest,而response對應於HttpServletResponse,如果您繼承 HttpServlet,在Container呼叫Servlet的service()方法,或是接下來的doXXX()等方法,都會以這兩個物件作為參數傳入:
service(HttpServletRequest req, HttpServletResponse res)
doGet(HttpServletRequest req, HttpServletResponse res)
doPost(HttpServletRequest req, HttpServletResponse res)
....
application 對應于 ServletContext,在繼承GenericServlet或其子類別,您可以使用getServletContext()方法取得其實例。
config 對應于 ServletConfig,在繼承GenericServlet或其子類別,您可以使用getServletConfig()方法取得其實例。
session 對應於 HttpSession,在Servlet中要取得HttpSession物件,您可以由HttpServletRequest物件取得,例如:
public void doGet(HttpServletRequest req,
HttpServletResponse res)
throws ServletException, IOException {
HttpSession session = req.getSession();
// ....
}
req.getSession()其實是req.getSession(true)在Servlet 2.1之後提供的方便用法,當getSession()中設定的是true時,表示目前如果有有效的HttpSession物件,則傳回該物件,如果沒有有效的HttpSession物件,則建立一個新的HttpSession物件,如果getSession()中的參數設定為false,則在沒有有效 HttpSession物件的情況下,不建立新的HttpSession物件,直接傳回null。
另外,在JSP中可以方便的使用<jsp:forward>或<jsp:include>來轉發或包含另一個資源,以達成 request與response的控制權轉移,在Servlet中,這則是透過實作RequestDispatcher介面的物件來達成,例如,若您要轉發(或包括)一個請求與回應則必須這麽作:
public void doGet(HttpServletRequest req,
HttpServletResponse res)
throws ServletException, IOException {
// ....
RequestDispatcher dispatcher =
req.getRequestDispatcher("other.jsp");
dispatcher.forward();
// dispatcher.include(); 如果要 include 的話用這個
// ....
}
forward與sendRedirect()的作用有些類似,主要的差別在於forward的動作完全在伺服器內完成,它是將request與 response的控制權轉移給另一個資源,由該資源直接回應用戶端,在轉發之前您可以對request作一些前置處理,然後再由另一個資源作 response,而sendRedirect()則必須與用戶端溝通,告知其重新要求指定的資源。
分享到:
相关推荐
Servlet与JSP之间的关系 PPT的哦 很难得哦
Servlet与JSP核心编程:综合介绍Servlet与JSP
Servlet + JSP + Tomcat规范及版本对应关系 pdf格式
Servlet与JSP核心编程(第二版),你是不是要学最新版本(J2EE1.4)的Servlet和 SP?这本书能让你如虎添翼。你将能很好地掌握Servlet和JSP
基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍...
Servlet与JSP核心编程第二版 PDF文件 高清,内容通俗易懂.
Servlet与JSP核心编程 pdf!不错的一本学习Servlet与Jsp文档哦!
Servlet与JSP核心编程第二版5Servlet与JSP核心编程第二版5Servlet与JSP核心编程第二版5
servlet与jsp的区别 servlet与jsp的区别 servlet与jsp的区别 servlet与jsp的区别
Servlet与JSP核心编程(第2卷 第2版)
servlet与jsp核心编程,还是免费给大家下载,需要的可以下来看看
可以通过servlet以及jsp的使用,实现对复数的加减乘除
servlet与jsp中文乱码处理,详细介绍多种乱码处理方法,包括使用过滤器的方法
javax.servlet.jsp_2.0.0.v201101211617.jar,javax.,servlet,jsp
Servlet与JSP语法.doc Servlet与JSP语法.doc
Head First Servlet & JSP, 经典教程,适用于SCWCD,我就是用这本书98%通过认证。本人注释版,非扫描。
本书全面深入地介绍了servlet和JSP技术。本书重点介绍核心技术, 同时对相关的内容。对于初学者,非常适用。本次提供下载是本书配的源代码
Servlet与 JSP 指南。PPT教学课件。作者:梁峥嵘 <br>目录: 0、WEB应用程序。 1、servlet与JSP技术概述 2、servlet基础 3、客户请求的处理:表单数据 4、客户请求的处理:HTTP请求报头 5、...
JSP中九个隐含对象 一、page 对象 page对象代表JSP本身,更准确地说它代表JSP被转译后的Servlet,它可以调用Servlet类所定义的方法