HTTP Servlets
使用
HTTP request
对象(
HttpServletRequest
),它包含了
request URL
、
HTTP
头信息、查询字符串,等等。
HTTP request URL
包括几个部分:
http://:?
一般情况下:
requestURI = contextPath + servletPath + pathInfo
Context path
:通过
getContextPath
方法获得。
Servlet Path
:通过
getServletPath
方法获得。
PathInfo
:通过
getPathInfo
方法获得。
关于路径的对应
Request Path
Path Elements:
/catalog/help/feedback.jsp
ContextPath:
/catalog
ServletPath:
/help/feedback.jsp
PathInfo: null
提供
HTTP
响应
响应(
response
)包含了在服务器和客户端之间传递的数据。所有的响应(
response
)都实现了
ServletResponse
接口。这个接口定义了一些方法提供给开发人员使用,如表
14-3
所示。
表
14-3 ServletResponse
接口方法
l
类型描述
:
获得向客户端发送数据的输出流
对应方法
:
getWriter(),
getOutputStream()
l
类型描述
:
指示响应返回的内容类型(例如:
text/html
)已经注册的内容类型名称保存在
IANA
(
Internet Assigned Numbers Authority
)
对应方法
:
setContentType(java.lang.String type)
l
类型描述
:
指出是否是缓冲输出。默认情况下写入输出的内容被立即发送到客户端。使用缓冲后写入输出的内容先不发送到客户端,这样
Servlet
有更多的时间设置相应的状态码和头信息,或者转移到其他的
Web
资源
对应方法
:
flushBuffer()
getBufferSize()
isCommitted()
reset()
resetBuffer()
setBufferSize(int size)
setContentLength(int len)
l
类型描述
:
设置
localization
信息
对应方法
:
getCharacterEncoding()
getLocale()
setLocale(java.util.Locale loc)
HTTP response
类(
HttpServletResponse
)有一些代表
HTTP
头信息的域:
状态码用来指出响应(
response
)失败的原因。
Cookies
在客户端存储应用相关的信息,有时
cookies
用来维护和标识用户的
session
。
Servlet
的设置顺序
1.
首先设置响应(
response
)头信息,包括响应(
response
)的内容类别和缓冲区大小,
2.
然后在
doGet
方法中从响应(
response
)获得
PrintWriter
,
3.
最后向输出中写入
HTML
代码,
4.
调用
close()
方法提交这次对客户端的响应(
response
)。
示范代码如下:
public void doGet (HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
//
设置头信息
response.setContentType("text/html");
response.setBufferSize(8192);
PrintWriter out = response.getWriter();
//
向
response
中输出
out.println("<html>" +
"<head><title>+messages.getString("TitleBookDescription")+</title></head>");
// ...
out.println("</body></html>");
//
关闭输出流
out.close();
}
分享到:
相关推荐
2. **php-servlet.jar**: php-servlet.jar是PHP/Java Bridge的另一个关键部分,它是一个Servlet,负责在Java应用服务器中处理来自PHP的请求。当PHP通过HTTP请求与Java服务器交互时,php-servlet接收这些请求,解析...
综上所述,"servlet-2_2b-doc-API"这个压缩包提供的文档将帮助我们理解Servlet API 2.2的核心概念、接口、类和生命周期,以及如何利用这些知识来编写和配置Servlet以及与JSP协同工作。对于想要深入研究早期Java Web...
`servlet-api-src`提供了Servlet API的源代码,这对于开发者来说是非常有价值的。通过阅读源码,我们可以理解Servlet API的工作机制,了解请求和响应对象的内部实现,以及容器如何管理Servlet的生命周期。这对于优化...
<servlet-name>MyServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/myservice</url-...
Servlet-API是Java Servlet技术的核心部分,它定义了服务器端与客户端之间交互的一系列接口和类。这个压缩包包含了Servlet-API的多个版本,分别是2.2、2.3、2.4、2.5以及3.0。每个版本的发布都带来了新的功能和改进...
总结来说,`servlet-api-2.5-6.1.4.jar.zip`压缩包提供了Servlet API的核心接口和类,让开发者能够构建基于Java的Web应用程序。Servlet API 2.5版本引入了许多增强功能,如注解配置、异步处理和更强的安全性,极大地...
2. **生命周期** - 了解Servlet和JSP的生命周期对于优化性能至关重要。Servlet实例化、初始化、服务和销毁的过程,以及JSP转化为Servlet的过程。 3. **部署描述符** - web.xml文件是Web应用的部署描述符,定义了...
容器还负责将请求映射到对应的Servlet,并提供服务方法调用。 3. Servlet与其他技术的对比 Servlet可以和其他技术(如JSP, Struts等)相结合,共同构建动态Web应用程序。文件中提到了Servlet与这些技术的对比,帮助...
【标题】"jersey-container-servlet-2.0-m04.zip" 提供的是 Jersey 2.0 版本的Servlet容器模块,这是一个用于构建RESTful Web服务的Java框架。Jersey是JAX-RS(Java API for RESTful Web Services)规范的参考实现,...
2. **Filter**:Filter 是 Servlet 2.3 规范引入的一个重要特性,用于对请求和响应进行预处理和后处理。Filter 可以用于实现诸如认证、授权、编码转换等任务,极大地增强了应用的安全性和灵活性。 3. **Session ...
Servlet-api.jar是Servlet规范的实现,它提供了Servlet接口和Servlet容器(如Tomcat)之间交互的类和接口。主要包括以下关键组件: 1. **Servlet接口**:Servlet是Java Web应用的核心,它是一个实现了 javax....
- 服务:这是Servlet的主要工作阶段,在此期间,Servlet通过service()方法响应客户端请求。实际上,根据请求类型(GET、POST、PUT等),service()方法会调用相应的doGet()、doPost()等方法来处理。 - 销毁:当...
本文将深入探讨两个关键的开源项目,分别是“grizzly-http-servlet-extras-2.3.8-beta1”和“portlettester”,它们分别在Servlet和Portlet测试领域提供了强大的支持。 首先,让我们关注“grizzly-...
Servlet是Java提供的一个用于扩展服务器功能的接口,而Filter则是一种动态web资源过滤机制,它允许我们在数据处理流程中进行预处理和后处理,比如登录验证、日志记录、GZIP压缩等。本篇文章将深入探讨如何使用Filter...
`javax.servlet-api-4.0.1.jar`包含了这些接口和类,使得开发者能够在自己的应用中实现HTTP服务、会话管理、过滤器、监听器等功能。 在JSP中,自定义标签提供了一种扩展HTML标签的能力,使得开发者可以创建具有特定...
标题中的"midlet_servlet.rar_midlet-servlet"暗示了这是一个关于Java ME(Midlet)与Servlet交互的项目。在移动设备(如早期的智能手机)上,Java ME(Micro Edition)提供了一个名为Midlet的框架,用于开发移动...
### servlet-api基本类和接口介绍 #### 一、javax.servlet包内的基本类和接口概览 在Java Web开发中,`javax.servlet`包是至关重要的组成部分之一,它为Servlet提供了核心API,使得开发者能够构建动态的Web应用。...
这个压缩包中的`servlet-3-sources-code`提供了Servlet3的源码,你可以通过阅读这些代码来深入理解Servlet的工作原理,了解其内部是如何处理请求和响应的,以及如何实现上述特性。这对于学习和优化Web应用性能,以及...
了解Servlet API对于Java Web开发者至关重要,因为它为构建动态网站提供了基础框架。通过学习和使用Servlet API,开发者可以创建处理各种HTTP请求的服务器端应用,包括登录验证、数据处理、文件上传下载等。同时,...
Servlet生命周期包括加载、初始化、服务和销毁四个阶段,开发者可以通过重写相应的方法来定制这些过程。 JSP(JavaServer Pages)则是一种基于Java的动态网页技术,它将HTML代码与Java代码分离,使得页面设计更加...