基于HttpServletRequest 相关常用方法的应用
referer:
public void referer(httpservletrequest request, httpservletresponse response)
throws exception {
string referer = request.getheader("referer");
if (referer == null || !referer.startswith("http://localhost")) {
response.sendredirect("/webtwo/index.jsp");
return;
}
string data = "welcome";
response.getoutputstream().write(data.getbytes());
}
编写url技巧:
先写'/',给服务器用的就不用写web应用程序名称;给浏览器用的就加上web应用程序名称;
requestdispatcher:
//请求转发,使用request域对象把数据带给转发资源;
与重定向的区别:客户端只发出一次请求,服务器端调用多个资源,客户端浏览器地址栏没改变;
获取方式:
servletcontext.getrequestdispatcher(string);
servletcontext.getnameddispatcher(string);
servletrequest.getrequestdispatcher(string);
ex:request.getrequestdispatcher("/index.jsp").forward(request, response);
encoder:乱码处理
request.setcharacterencoding("utf-8");//只对post方式有效
// get方式处理乱码
string value = request.getparameter("username");
string out = new string(value.getbytes("iso8859-1"), "utf-8");
system.out.println(out);
// 获取请求数据时一般都先检查再使用
获取header:
// string value = request.getheader("headername");
// enumeration headers = request.getheaders("");
// enumeration headernames = request.getheadernames();