Servlet练习——请求头referer

Servlet练习——请求头referer,第1张

Servlet练习——请求头referer

请求头referer的作用是记录了上一个请求页面的URL,比如第一次我请求了页面A,当我第二次请求页面B的时候,第二次请求的头信息中referer属性的值就是A页面的URL。

这个有什么用呢?可以做一个简单的登录拦截验证,就是你必须从我指定的页面才能进入首页,从其他的页面进入或者直接通过URL访问都会被拦截。这个后面主要是通过过滤器来实现,主要目的是为了练习一下这个头信息的用法。

servlet代码
@WebServlet("/demo12")
public class ServletDemo12 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        String userName = req.getParameter("username");
        String password = req.getParameter("password");

        String url = req.getHeader("referer");
        if(url == null || !url.contains("http://localhost:8080/servlets/login.html")){
            System.out.println("未知位置访问,已跳转到标准登录页面");
            resp.setStatus(302);
            resp.setHeader("location","/servlets/login.html");
        }
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter out = resp.getWriter();
        out.write("welcome!" + userName);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}
登录页面代码(瞎写的)



    
    登录界面
    


    
        
            

登录

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5685078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存