欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HttpServletRequest常用的方法

程序员文章站 2024-02-04 14:06:16
...
1、假设客户端地址是:

http://user.cbice.com/cbice/BoardAction.do?operation=doSearch&index=index&boardIndex=boardIndex

通过request对象得到客户端url方法如下:
[list]
[1]、request.getRequestURL:[color=red]http://user.cbice.com/cbice/BoardAction.do[/color]--------客户请求的url,不包括参数数据。
[2]、request.getRequestURI:[color=red]/cbice/BoardAction.do[/color]--------将URL的域名和尾随的参数截取掉,剩下的那部分就是URI 。
[3]、request.getContextPath:[color=red]/cbice[/color]-----即斜杆加工程名。
[4]、request.getRealPath("/WEB-INF"):[color=red]D:\jboss-4.0.2_cbiceportal\server\default\.\deploy\user.war\WEB-INF[/color]-----即斜杆加工程名。
[5]、request.getMethod:[color=red]POST[/color]--------HTTP请求的的方法名,默认是GET,也可以指定PUT或POST。
[6]、request.getScheme: [color=red]http[/color] ---返回请求的方案名,如http,ftp,https等。
[7]、request.getServletPath: [color=red]/BoardAction.do[/color]---工程之后到参数之前的这部分字符串。
[8]、request.getServerName: [color=red]user.cbice.com[/color] ---服务器主机名。
[9]、request.getServerPort: [color=red]80[/color] ---服务器上web应用的访问端口。
[10]、request.getRemoteAddr: [color=red]192.168.6.8 [/color]---发送请求的客户端主机的IP
[11]、request.getRemoteHost: [color=red]192.168.6.8[/color] ---发送请求的客户端主机名,如果不确定返回的是IP。
[12]、request.getQueryString:[color=red]operation=doSearch&index=index&boardIndex=boardIndex[/color]------返回URL上的参数部分的字符串,必须是GET的请求才有效,不然报错.
[color=green]这里的URL参数中带有中文,是通过字符转码的:String eQuery=new String(request.getQueryString().getBytes("ISO-8859-1"))
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进制或其他进制的编码。[/color][/list]