`
newleague
  • 浏览: 1499088 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

HttpServletResponse

 
阅读更多

1.       控制消息头

            addHeader(String name,String value)用于添加消息头,不管有没有重名的消息头。

            setHeaderr(String name,String value)用于设置消息头,如果存在重名则替换掉原先的消息头。

            addIntHeader(String name,int value)setIntHeader(String name,int value)方法用于设置数字为消息头的值。与上面两个相比只多了个转换intstirng的功能。

            addDateHeader(String name,long date)setDateHeader(String name,long date)方法。

2.       设置发送内容的编码和浏览器接收解析的编码

            通过HttpResponse.setContentType("text/html;charset=GB2312");这种方式将设置发送编码为charset的值,同时浏览器也会按照这个值去接收解析。因为它是直接对ContentType消息头进行设置。

            通过HttpResponse. setCharacterEncoding("UTF-8");这种方式只能够设置发送编码,要想设置接收编码,程序中必须有语句HttpResponse.setContentType("text/html”)。遮阴前一个语句设置了编码,如果没有后一个语句,只是设置了发送,但是没有设置消息头,浏览器不知道如何接受。(如果在代码中没有手动设置ContentType消息头,则服务器发送给客户端的消息头中将不包含它)。

例如:

resp.setContentType("text/html");

       resp.setCharacterEncoding("UTF-8");

       PrintWriter out = resp.getWriter();

out.write("我是张!");

            setLocale(java.util.Locale)方法

这个方法用于设置国家和语言环境,要想设置编码必须在web.xml中设置对应关系。

例如:

web.xml中:

<locale-encoding-mapping-list>

       <locale-encoding-mapping>

       <locale>zh_CN</locale>

       <encoding>UTF-8</encoding>

       </locale-encoding-mapping>

 </locale-encoding-mapping-list>

在代码中:

resp.setContentType("text/html");

        resp.setLocale(java.util.Locale.CHINA);

       PrintWriter out = resp.getWriter();

out.write("我是张!");

注意:这个如果要设置浏览器的接收编码,也要加上resp.setContentType("text/html");原理和上面相同。

2.4 如果上面三个都没有设置,那么服务器将默认选择使用ISO-8859-1发送,将产生中文乱码。一般表现为??????形式的乱码。而涉及到对UTF-8转码错误的乱码,一般是“看不懂象形文字“。

3.  一些常用的Header

    3.1 实现定时刷新或者跳转。

       resp.setHeader("Refresh", "2");//定时刷新

       resp.setHeader("Refresh", "5;url=http://www.baidu.com"); //定时跳转

    3.2 禁止缓存

    response.setHeader("Pragma","No-cache");    

    response.setHeader("Cache-Control","no-cache"); 

    response.setDateHeader("Expires", 0);

3.       response.getWriter()response.getOutputStream()方法。

4.       response.sendRedirect()重定向。

使用RequestDispatcher实现请求转发。

Servlet中获取RequestDispatcher对象的方法:

通过ServletContext接口,getServletContext().getRequestDispatcher(String path)这里的path只能是以/开头,代表web应用程序的根目录。

通过RequestgetRequestDispatcher(String path)方法,这里的path如果是以/开头,代表web应用程序的根目录,否则相对目录。

分享到:
评论

相关推荐

    Spring3.0.5扩展支持AOP获取HttpServletResponse

    `HttpServletResponse`是Servlet API中的核心接口,它用于封装服务器向客户端发送的响应信息,如状态码、响应头和响应体。 首先,让我们深入理解Spring AOP。AOP的核心概念包括切面(Aspect)、通知(Advice)、...

    HttpServletResponse对象、HttpServletResponse应用、请求重定向

    在Java Web开发中,`HttpServletResponse`对象是Servlet API中的核心组件之一,它扮演着响应客户端请求的关键角色。本文将深入探讨`HttpServletResponse`对象的使用、应用以及请求重定向的相关知识点。 一、...

    java httpServletResponse返回流进行 下载 - 姐呵呵博客专栏 - CSDN博客1

    在Java web开发中,HTTPServletResponse是用于服务器向客户端发送响应的重要接口。当涉及到文件下载时,我们通常会利用HTTP响应的输出流将文件内容发送到客户端。以下将详细讲解如何使用HttpServletResponse返回流...

    HttpServletRequest和HttpServletResponse的讲解

    `HttpServletRequest`和`HttpServletResponse`是两个核心的Servlet接口,它们是服务器与客户端之间交互的关键组件。下面我们将深入探讨这两个接口的功能、用法及实际应用案例。 `HttpServletRequest`接口代表了来自...

    HttpServletRequest和HttpServletResponse的必备包

    Java中,引入javax.servlet.http.HttpServletRequest和javax.servlet.http.HttpServletResponse包的必备jar包:org.apache.commons.httpclient.jar

    httpServletResponse学习

    httpServletResponse 学习笔记 HttpServletResponse 是 Servlet API 中的一个接口,用于封装 HTTP 响应消息,允许操控 HTTP 协议相关数据,包括响应头和状态码,支持 cookie 和 session 跟踪。本文将详细介绍 ...

    HttpServletResponse对象的应用

    在Java Web开发中,`HttpServletResponse`对象是Servlet API中的核心组件之一,它扮演着服务器向客户端发送响应的重要角色。本篇文章将深入探讨`HttpServletResponse`对象的应用,以及请求重定向与请求转发的区别。 ...

    自学HttpServletResponse

    ### 自学HttpServletResponse #### 一、概述 `HttpServletResponse`是Java Web开发中的一个重要接口,它继承自`ServletResponse`接口,并提供了与HTTP协议相关的多种方法。这些方法主要用于设置HTTP响应的状态码、...

    HttpServletRequest源码 HttpServletResponse源码

    在Java Web开发中,`HttpServletRequest`和`HttpServletResponse`是两个至关重要的接口,它们是Java Servlet API的核心组成部分,用于处理客户端(通常是Web浏览器)与服务器之间的HTTP通信。这两个接口提供了丰富的...

    JavaWeb开发技术-HttpServletResponse对象.pptx

    JavaWeb开发技术-HttpServletResponse对象 JavaWeb开发技术中,HttpServletResponse对象是Servlet容器提供的一个对象,用于向客户端发送响应信息。在每次Servlet请求时,Web服务器都会创建一个HttpServletResponse...

    Struts2教程:获得HttpServletResponse对象

    ### Struts2教程:获得HttpServletResponse对象 在深入探讨如何在Struts2框架中获取`HttpServletResponse`对象之前,我们先来简要回顾一下Struts2框架的基本概念及其与传统Struts1.x的区别。 #### Struts2框架简介...

    深入解析Java Web中的HttpServletRequest与HttpServletResponse

    在Java Web应用开发中,HttpServletRequest和HttpServletResponse是两个核心的接口,它们扮演着至关重要的角色。这两个接口是Java Servlet API的一部分,为开发人员提供了处理HTTP请求和构造HTTP响应的丰富功能。...

    HttpServletRequest与HttpServletResponse的实现类.docx

    【HttpServletRequest与HttpServletResponse详解】 在Java Web开发中,HttpServletRequest和HttpServletResponse是Servlet API中的核心接口,它们分别代表了客户端的HTTP请求和服务器的HTTP响应。每次客户端向Web...

    HttpServletResponse and HttpServletRequest

    这是很好的HttpServletResponse HttpServletRequest.加强.ppt,实际例子,值得收藏!

    Java Web程序设计入门课件-HttpServletResponse和HttpServletRequest.pptx

    在Servlet API中,`HttpServletResponse`和`HttpServletRequest`接口扮演着至关重要的角色。 `HttpServletResponse`接口是用来封装HTTP响应消息的,它扩展了`ServletResponse`接口。在处理HTTP响应时,我们主要关注...

    HttpServletRequest-response方法总结

    下面是对HttpServletRequest和HttpServletResponse的方法总结: HttpServletRequest: 1. getScheme():返回请求的计划,如http、https或ftp。 2. getServerName():返回被发送请求的服务器的主机名。 3. ...

    java HttpServletRequest和HttpServletResponse详解

    在进行Java Web开发时,理解HttpServletRequest和HttpServletResponse的工作原理和使用方法至关重要,这有助于你有效地处理客户端和服务器之间的交互,提供正确的服务和反馈。这两个接口的熟练掌握是成为专业Java ...

Global site tag (gtag.js) - Google Analytics