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

posted @ 2020-04-05 14:53  幻竹  阅读(207)  评论(0)    收藏  举报