孙肖宁

HttpServletRequest和HttpServletResponse
HttpServletRequest请求消息行方法:getMethod(); 获得请求方式getRequestUR...
扫描右侧二维码阅读全文
06
2018/02

HttpServletRequest和HttpServletResponse

HttpServletRequest

请求消息行

方法:
getMethod(); 获得请求方式
getRequestURL();返回客户端发出请求时的完整URL。
getRequestURI(); 返回请求行中的资源名部分。
getContextPath(); 当前应用的虚拟目录 。
getQueryString() ; 返回请求行中的参数部分。

请求消息头

String getHeader(String name); 根据头名称得到头信息值
Enumeration getHeaderNames(); 得到所有头信息name
Enumeration getHeaders(String name); 根据头名称得到相同名称头信息值

请求正文

与获取表单数据相关的方法

getParameter(name) 根据表单中name属性的名,获取value属性的值方法
getParameterValues(String name)专业为复选框取取提供的方法
getParameterNames() 得到表单提交的所有name的方法
getParameterMap 到表单提交的所有值的方法 //做框架用,非常实用
附录:框架的使用

导入commons-beanutils-1.8.3.jar和commons-logging-1.1.1.jar包
import org.apache.commons.beanutils.BeanUtils;//导包
BeanUtils.populate(new User(), request.getParameterMap());//调用方法

getInputStream 以字节流的方式得到所有表单数据

ServletInputStream sis = request.getInputStream();
        int len = 0;
    byte[] b = new byte[1024];
    while((len=sis.read(b))!=-1){
        
        System.out.println(new String(b, 0, len, "UTF-8"));
    }
        
    sis.close();

与操作非表单数据相关的方法(request也是一个域对象)

void setAttribute(String name, Object value);
Object getAttribute(String name);
Void removeAttribute(String name);

与请求转发相关的方法

//得到请求转发或请求包含的协助对象

RequestDispatcher getRequestDispatcher(String path)
forward(ServletRequest request, ServletResponse response) //转发的方法
include(ServletRequest request, ServletResponse response) //请求包含

与请求编码相关的方法:

  • 解决post方式编码
    request.setCharacterEncoding("UTF-8"); //告诉服务器客户端什么编码,只能处理post请求方式
  • 解决get方式编码
String name = new String(name.getBytes(“iso-8859-1”),”UTF-8”);

HttpServletResponse

响应消息行

setStatus(int sc) 设置响应状态码

响应头

sendRedirect(String location) 请求重定向
setHeader(String name, String value) 设置响应头信息

  • 告知浏览器使用什么码表
response.setHeader("content-type", "text/html;charset=UTF-8");
  • 告知客户端不缓存
response.setHeader("pragma", "no-cache");
response.setHeader("cache-control", "no-cache");
response.setDateHeader("expires", 0);
  • Referesh刷新

响应正文(主体)

getWrite(); 字符输出流
getOutputStream(); 字节输出流
setCharacterEncoding(String charset) 告知服务器使用什么编码
setContentType(String type)

Last modification:February 7th, 2018 at 11:03 am
If you think my article is useful to you, please feel free to appreciate

Leave a Comment