Servlet第四篇【HttpServletRequest常见应用】
防盗链
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
String referer = req.getHeader("Referer");
if(referer==null|| !"http://localhost:8080/a".equals(referer)){
PrintWriter writer = resp.getWriter();
writer.write("防盗链");
}else{
PrintWriter writer = resp.getWriter();
writer.write("路飞在跑");
}
}
请求转发
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
PrintWriter writer = resp.getWriter();
writer.write("a");
req.getRequestDispatcher("/c").forward(req,resp);//不会执行CServlet代码writer.write("c");
}
//页面显示:a
RequestDispatcher的include方法
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
PrintWriter writer = resp.getWriter();
req.getRequestDispatcher("/a").include(req, resp);//会执行AServlet代码writer.write("a");
writer.write("b");
req.getRequestDispatcher("/c").include(req, resp);//会执行CServlet代码writer.write("c");
}
//页面显示:abc
获取客户端信息

resqust.getHeaders(String str): 获取多个同名请求头key对应的value
resqust.getHeader(String str): 获取单个请求头key对应的value
resqust.getHeaderNames(): 获取请求头的key

浙公网安备 33010602011771号