HttpServletRequest基础知识

xiaoxiao2021-02-28  160

一、获取头部信息

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基础知识)

 

转载请注明原文地址: https://www.6miu.com/read-29931.html

最新回复(0)