本文主要是介绍HttpServletRequest接口中常用方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
HttpServletRequest接口继承于ServletRequest接口。HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,http请求头中的所有信息都封装在这个对象中,通过HttpServletRequest提供的方法可以获得客户端请求的所有信息。
例如,客户端请求的地址是:http://www.xinjun.com/about/list?name=zhang&index=4565。HttpServletRequest常用方法如下:
- getHeader(string name)方法:根据header参数名称获取值 ;
- getHeaderNames()方法:获取header里面的参数名称;
- getParameterMap()方法:获取请求参数对应的map ;
- getParameter(name)方法:根据请求参数的名称获取对应的值;
- getRemoteAddr()方法:发送请求的客户端主机的IP;
- getScheme()方法:获取正确的协议,如http协议;
- getServerName()方法:服务器主机名;
- getServerPort()方法:服务器上web应用的访问端口;
- getContextPath()方法:获取域名后的斜杆加工程名,也就是上面例子中的/about部分;
- getRemoteAddr()方法:发送请求的客户端主机的IP;
- getRequestURI()方法:将URL的域名和尾随的参数截取掉,剩下的那部分就是URI,即/about/list部分;
- getRequestURL()方法:客户请求的url,不包括参数数据;即例子中的http://www.xinjun.com/about/list部分;
- getMethod()方法:HTTP请求的的方法名,默认是GET,也可以指定PUT或POST;
- getRealPath(“/WEB-INF”)方法:获取虚拟目录的硬盘实际路径;
【补充】
response的响应内容:response.setContentType(“text/html;charset=gbk”),才可以正常显示页面中文。 如果需要获得参数则用String status = new String(request.getParameter(“username”).trim().getBytes(), “GBK”);获得其内容。 另外一种方法是:用String eQuery=URLEncoder.encode(“中文”,”GBK”);按照参数编码格式进行转码,在页面中通过request.getParamter(“eQuery”)得到的参数是中文,但是在url中显示的是16进制或其他进制的编码。
这篇关于HttpServletRequest接口中常用方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!