HttpServletRequest
1、请求行
Get http://localhost:8080/day09/servlet/req1?username=zs http/1.1
getMethod(); 获得请求方式
***getRequestURL();返回客户端发出请求时的完整URL。
***getRequestURI(); 返回请求行中的资源名部分。
*****getContextPath(); 当前应用的虚拟目录 /day09_01_request
getQueryString() ; 返回请求行中的参数部分。
2、请求消息头
* String getHeader (String name) 根据头名称得到头信息值
Enumeration getHeaderNames ( ) 得到所有头信息name
Enumeration getHeaders (String name) 根据头名称得到相同名称头信息值
3、请求正文(重要)
与获取表单数据相关的方法
*** getParameter (name) 根据表单中name属性的名,获取value属性的值方法
*** getParameterValues(String name)专业为复选框取取提供的方法
getParameterNames () 得到表单提交的所有name的方法
*** getParameterMap 得到表单提交的所有值的方法
//做框架用,非常实用
导入lib库中两个jar包:commons-beanutils-1.8.3.jar commons-logging-1.1.1.jar (日志记录)
getInputStream 以字节流的方式得到所有表单数据
与操作非表单数据相关的方法(request也是一个域对象)
类似于ServletContext对象,维持一个MAP
*** 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”);
因而读取表单数据时,form处写method=”post” ,否则默认为get方式。