一、获取头部信息
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基础知识)