HttpServletRequest基础知识

一、获取头部信息

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值