美文网首页
HttpServletResponse的应用

HttpServletResponse的应用

作者: 禅与发现的乐趣 | 来源:发表于2018-06-23 12:17 被阅读5次

    快速部署一个Web应用程序

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

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

    <Context path="/oyty" docBase="oyty" reloadable="true" />
    

    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的应用

          本文链接:https://www.haomeiwen.com/subject/svmryftx.html