HttpServletRequest基础知识
来源:互联网 发布:知乎女神王诺诺是谁 编辑:程序博客网 时间:2024/06/06 02:29
一、获取头部信息
1、String类型 request.getHeader(String string); 获取头第一个内容
2、Enumeration类型 request.getHeaders(String string); 获取指定头所有内容
Enumeration e = request.getHeaders("Accept-Encoding");
while(e.hasMoreElements()){
String value = (String)e.nextElemnets();
System.out.printin(value);
}
3、Enumeration类型 request.getHeaderNames(); 获取所有头名字
Enumeration e = request.getHeaderNames("Accept-Encoding");
while(e.hasMoreElements()){
String value = (String)e.nextElemnets();
System.out.Printin(value);
}
二、获取数据信息
1、String类型 request.getParameter(String string);获取指定数据内容
2、Enumeration request.getPartermeterNames();获取所有的数据名称
Enumeration e = request.getParameterNames();
while (e.hasMoreElements()){
String name = (String)e.nextElement();//获取一个数据名称
String value = request.getParameter(name);//获取当前数据的内容
System.our.println(name+"="values);
}
3、String[] request.getParameterValues(String string);获取一个数据名称下的所有内容
String[] vlues = request.getParameterValues("username");
for(int i = 0;values!=null&&i<values.length;i++){//防止username用户不填写抛异常
System.out.println(values[i]);
}
三、表单中文乱码问题,浏览器提交表格的码表使用打开的码表,String获取Request内容查看iso8859-1码表
1、对于Post提交的乱码。改变Request码表与提交码表相同。
request.setCharacterEncoding("UTF-8");//只对Post提交有效
String username = request.getParameter("username");
System.out.println(username);
2、对于Get方式提交的表(超链接方式提交也是Get方式),需要手工方式查码表。
String username = request.getParameter("username");
username = new String(username.getBytes("iso8859-1"),"UTF-8");//转换码表
System.out.println(username);
3、可以改服务器配置,不推荐。可在服务器里面查看 http://localhost:8080/docs/config/http.html 在URLEcoding表格里面
进入Tomact->conf->server.xml 。修改即可
<Connector port="8080" protocol="HTTp/1.1"
connectionTime="2000"
redirectPort="8446"
/***加入 URIEncoding="UTF-8"***/
/***或者加入 useBodyEncodingForURL="true" 并且在servlet里面写request.setCharacterEncoding("UTF-8");***/
/>
四、请求转发,并把数据带给转发资源
//存数据
String data = "aaa";
request.setAttribute("aaa",data);
request.getRequestDispatcher("/xxxx.jsp").forward(request,response);
//取数据
String data = (String)request.getAttribute("data");
System.out.println(data);
五、防盗链
String referer = request.getHeader("referer");
if(referer==null||!referer.startsWith("http://localhost")){
response.sendRedirect("/项目名称/目标网站");//重定向
return;
}
六、得到项目名称
request.getContextPath();
(进入博客查看HttpServletResponse基础知识)
阅读全文
0 0
- HttpServletRequest基础知识
- HttpServletRequest
- Httpservletrequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- httpservletrequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- 流
- bootstrap系列之六按钮
- HDU3613 Best Reward —— 扩展KMP
- 完全二叉树和满二叉树区别
- Android 版本和API Level对应关系
- HttpServletRequest基础知识
- 线程
- 2.变量/字符串/if/while/数据类型
- 下拉框可以输入
- 文件的拷贝
- mybatis逆向工程两次之后出现java.lang.IllegalStateException: Failed to load ApplicationContext
- 我的python3基础笔记之 【字符串和编码】
- 小文本——Cookies
- 在phpcms模板页面中如何调用验证码以及实现验证码验证?