HttpServletResponse的应用

快速部署一个Web应用程序

/WebApps目录下新建一个文件夹oyty,在oyty目录新建一个index.html,这个时候访问http://localhost:8080/oyty/index.html,无法访问到资源,这时在oyty目录下新建文件夹WEB-INF,然后再次访问就可以访问到index.html资源了。说明只要/Webapps目录下的某个子目录中包含WEB-INF目录,这个子目录就会被部署为一个独立的Web应用程序。

在server.xml文件中的元素中添加一个标签,这样Web应用程序能自动装载发生了修改的Servlet程序。


HttpServletResponse简介

Web服务器回送给Web客户端的HTTP响应消息分为三个部分:状态行、响应消息、消息正文(实体内容)。

Servlet API中定义的ServletResponse接口类用于创建响应消息。HttpServletResponse是专用于HTTP协议的ServletResponse子接口,它用于封装HTTP响应消息,允许操控HTTP协议相关数据,包括响应头和状态码,支持Cookies和Session跟踪。

对于一个Servlet的每次访问请求,Servlet引擎都会创建一个用于封装HTTP请求消息的对象和一个代表HTTP响应消息的对象,然后调用此Servlet对象的service方法,分发特定的请求类型。

状态行-发送错误信息的状态码

void sendError(int var1, String var2) throws IOException;

void sendError(int var1) throws IOException;

发送错误信息一般状态码为404,可自定义错误信息。

响应消息-构建响应消息头

void setHeader(String var1, String var2);

void addHeader(String var1, String var2);

可通过上面两个方法设置和添加响应消息头,对于状态码为200的正常响应消息,通过向客户端发送各种HTTP响应消息头字段,可以让浏览器执行各种特殊功能。如让浏览器自动定时刷新网页,告诉浏览器采用何种字符集显示网页,禁止浏览器缓存网页等。对于一些特殊的状态码还必须伴随一些特定的消息头。

好吧,还有一些特定的方法,查看HttpServletResponse接口即可。

禁止浏览器缓存当前文档内容

response.setDateHeader("Expires", 0);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache")

不是所有浏览器都支持上面的三个响应头,所以最好全部使用。

你可能感兴趣的:(HttpServletResponse的应用)