在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()則必須與用戶端溝通,告知其重新要求指定的資源。
分享到:
相关推荐
JSP 隐含对象 JSP 隐含对象是 Web 容器加载的一组类,它们不像一般的 Java 对象那样用” new” 去获取实例,而是可以直接在 JSP 页面使用的对象。这些隐式对象的名称是 JSP 的保留字,JSP 使用 Java 定义的隐式对象...
通过`page`对象,开发者可以访问和调用由JSP对应的Servlet类中定义的所有方法,这为在JSP页面内部进行逻辑处理提供了便利。例如,如果在Servlet类中定义了一个名为`doSomething()`的方法,那么在JSP页面中就可以通过...
它是一个隐式对象,代表当前JSP页面对应的Servlet。通过这个对象可以访问到页面的属性、方法等。 #### config对象 `config`对象用于表示Servlet的配置信息。它实现了`javax.servlet.ServletConfig`接口,提供了以下...
**JSP隐含对象** 在JSP页面中,有一些预定义的对象可以直接使用,例如request、response、session、application等,它们对应于Servlet API中的特定对象,方便开发者直接操作请求、响应、会话和全局应用程序数据。 *...
### JSP内置对象详解 #### 一、引言 JSP (Java Server Pages) 是一种基于Java技术的服务器端动态网页开发技术。它允许开发者在HTML文档中嵌入Java代码,从而实现动态内容的生成。在JSP开发过程中,为了方便开发者...
在Java Server Pages (JSP)技术中,为了简化Web开发,JSP提供了九个预定义的对象,也被称为内置对象或隐含对象。这些对象自动存在于JSP页面的上下文中,无需显式声明或实例化,它们在处理请求和响应时扮演着关键角色...
6.1 JSP 隐含对象概述 JSP的内置对象包括`out`、`request`、`response`、`session`、`application`、`exception`和`pageContext`。它们在JSP转换成Servlet时自动创建并注入。 6.2 `out` 对象 `out`对象用于向客户端...
5. **隐含对象**:例如`pageContext`、`request`、`response`等,它们提供了访问Servlet API的便捷途径。 6. **Action元素**:如`<jsp:plugin>`、`<jsp:include>`、`<jsp:forward>`等,用于引入外部资源或控制流程。...
在本系统中,JSP主要用于展示用户界面,接收用户输入,并通过隐含对象如`request`、`response`来传递数据到Servlet进行处理。 其次,**Servlet**是Java平台上的一个标准接口,用于扩展服务器的功能,处理来自客户端...
了解这些基本的JSP隐含对象和`out`对象的使用,对于初学者来说是非常重要的,因为它们构成了JSP开发的基础。随着学习的深入,你将学会如何利用这些工具来创建交互式的动态Web应用程序。同时,还会接触到其他如`...
这个文件提供了详细的JSP中文帮助,包括JSP的生命周期、页面组件(如隐含对象)、自定义标签的开发以及与Servlet的交互等。JSP生命周期分为三个阶段:翻译、初始化和响应。在这个过程中,JSP会被编译成Servlet,...
JSP隐含对象** JSP提供了九个隐含对象,无需声明即可直接使用: - `request`:代表HTTP请求对象,用于获取请求参数。 - `response`:代表HTTP响应对象,用于设置响应头和输出到客户端。 - `session`:用于管理用户...
### JSP与Servlet的关系 JSP的本质是一个Servlet,当JSP被请求时,Web容器会将其转换为对应的Servlet类,然后编译成字节码执行。JSP的动态部分在服务器端执行,生成HTML后发送给客户端。 ### JSP与JavaBean ...
JSP隐含对象是预定义的Java对象,可以直接在JSP页面中使用: 1. **request**:代表客户端的请求信息,用于接收客户端通过HTTP协议传递的数据,是`javax.servlet.ServletRequest`的实例。 2. **response**:用于向...
Servlet编写较为复杂,而JSP更专注于视图展示,但可以通过JSP隐含对象访问请求、响应、会话等信息,实现与Servlet类似的功能。 ### EL(Expression Language)与JSTL(JavaServer Pages Standard Tag Library) EL...
- **JSP与Servlet的关系**:JSP最终会被Web容器转换成Servlet,然后由Servlet处理HTTP请求并生成响应。JSP提供了一种更直观的方式来编写视图部分,而Servlet则更适合编写控制逻辑。 - **如何写一个JSP文件**:JSP...
通过使用JSP隐含对象如`request`、`response`、`session`、`application`,我们可以方便地处理HTTP请求,设置响应头,管理会话状态和全局应用程序数据。 JSP标准标签库(JSTL)是JSP开发中常用的一组标签,它提供了...
JSP内部隐含的对象,如`request`, `response`, `session`, `application`等,其实质就是Servlet API中的类的实例。例如,`request`对象对应HttpServletRequest,`response`对象对应HttpServletResponse。 通过阅读...
JSP提供了九个隐含对象,可以直接在页面中使用,如`request`、`response`、`session`等,它们对应于Servlet API中的特定对象,方便开发者操作请求数据、响应数据和会话信息。 **JSP文档** JSP文档(JSPD)允许...