Servlet API中的几个对象
JSP提供?jin)八个内部对象,而其中的五个内部对象对应于Servlet API中的七个对象Q这也就使得我们正常理解q熟l用Servlet中的q七个对象显得尤光要。这五个JSP的内部对象和Servlet API中的对象的对应关pLQ?br />request对象对应于:(x)javax.servlet.http.HttpServletRequest和javax.servlet.ServletRequest
response对象对应于:(x)javax.servlet.http.HttpServletResponse和javax.servlet.ServletResponse
session对象对应于:(x)javax.servlet.http.HttpSession
application对象对应于:(x)javax.servlet.ServletContext
config对象对应于:(x)javax.servlet.ServletConfig
javax.servlet.http.HttpServletRequest
q是一个接口,在我们提到接口之前,q是让我们来复习(fn)一下Java中接口的一个初步的解释Q?br />接口在语法上与类怼Q但是接口没有实例,使用接口Q只是指定类必须做什么而不是如何做?br />HttpServletRequest接口用来处理一个对Servlet的HTTP格式的请求信息?br />
javax.servlet.ServletRequest
q也是一个接口,q个接口定义一个Servlet引擎产生的对象,通过q个对象QServlet可以获得客户端请求的数据。这个对象通过dh体的数据提供包括参数的名U、值和属性以?qing)输入流的所有数据。而javax.servlet.http.HttpServletRequest也只是该接口的一个扩展,也就是说Q该接口的所有方法也可以被javax.servlet.http.HttpServletRequest所使用?br />
javax.servlet.http.HttpServletResponse接口
该接口用来描qC个返回到客户端的HTTP回应?br />
javax.servlet.ServletResponse接口
该接口用来定义一个Servlet引擎产生的对象,通过q个对象QServlet对客L(fng)的请求作出响应。这个响应应该是一个MIME实体Q可能是一个HTMLc(din)图象数据或其他MIME的格式。javax.servlet.http.HttpServletResponse接口是该接口的扩展?br />
javax.servlet.http.HttpSession接口
该接口用来描qC个sessionQ至于什么是session我想在这里就没必要说?jin)吧?br />
javax.servlet.ServletContext接口
该接口用来定义了(jin)一个Servlet的环境对象。也可是认ؓ(f)q是多个客户端共享的信息Q它与session的区别在于应用范围的不同Qsession只对应于一个用戗?br />
javax.servlet.ServletConfig接口
该接口定义了(jin)一个对象,通过q个对象QServlet引擎配置一个Servlet。每一个ServletConfig对象对应着一个唯一的Servlet?br />
javax.servlet.http.Cookiec?br />q个cLqC(jin)一个cookieQcookie的作用其实与session很类|只是cookie保存在客L(fng)Qsession保存在服务器端?br />
所有Servlet响应都实现ServletResponse接口。ServletResponse接口主要有以下方法:(x)
Q?Q从Servlet中可以通过getWriterҎ(gu)取得PrintWriter对象Q来输出字符数据。从Servlet中可以通过getOutputStreamҎ(gu)取得ServletoutputStream对象。ServletOutputStream既可以输出字W数据,也可以输出MIME格式的二q制数据。如果getWriterҎ(gu)已经被用过Q当使用getOutputStreamӞ?x)有java.lang.IllegalStateException例外抛出?/p>
Q?QsetContentTypeҎ(gu)Q在响应中可以表明内Ҏ(gu)式和长短?/p>
Q?QsetBufferSizeҎ(gu)Q设|Web容器的缓冲器大小; getBufferSizeҎ(gu)q回Web容器的缓冲器大小; resetBufferҎ(gu)清空q|缓冲器Q用resetҎ(gu)清空~冲器、状态头信息Q用flushBufferҎ(gu)缓冲器内的所有输出内容向客户传递。用isCommittedҎ(gu)判断是否响应已经被行。“行”的定义是指状态码冬?信息已经被写入响应?/p>
Q?QsetLocalҎ(gu)讑֮响应的地域信息,主要在WebE序的国际货币国际化时用。这个方法应该在getWriter之前被用。默认的Web服务器的地域信息?/p>
HttpServletResponsel承?jin)ServletResponse接口Qƈ提供?jin)与Http协议有关的方法,q些Ҏ(gu)的主要功能是讄HTTP状态码和管理Cookie?/p>
Q?QsetStatusҎ(gu)用来讄Servlet向客L(fng)q回的状态码Q它用来讄没有出错的状态。如果Servletq行出错QServlet可以使用sendErrorҎ(gu)讄状态码Q如sendError(int sc)Ҏ(gu)讄错误状态代码。sendError(int sc,String msg)Ҏ(gu)除了(jin)讄状态码Q还向客户发Z条错误信息?/p>
Q?QsetHeader可以指定特定名称的头信息的|addDateheaderQaddIntHeaderQsetDateHeaderQsetIntHeader可以加入或理性特定时间或整数型头信息?/p>
Q?QaddCookieҎ(gu)可以在Web服务器响应中加入Cookie对象Q这个对象将被浏览器所保存。Cookie机制也被用来l护?x)话状态?/p>
Q?QsendRedirectҎ(gu)向客户发Z(f)旉新导向的响应。它生成的响应状态码?02。该响应l了(jin)客户一个新的URL风趣。如果缓冲器已经被清I,q个Ҏ(gu)?x)弹Z个IllegalStateException例外
(tng) |