09、JavaWeb-Filter过滤器

09、JavaWeb-Filter过滤器,第1张

09、JavaWeb-Filter过滤器

实现一个登录页面跳转到下载页面的案例

index14_login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    login





index14_download.jsp 

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    DownloadTest


欢迎来到资源下载页面

 
Servlet13_login.java

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;


@WebServlet("/servlet13_login")
public class Servlet13_login extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String adminname = req.getParameter("adminname");
        String password = req.getParameter("password");
        if (adminname.equals("admin") && password.equals("123456")) {
            HttpSession session = req.getSession();
            session.setAttribute("adminname", adminname);
            resp.sendRedirect("index14_download.jsp");
        }
    }
}

 Servlet13_DownloadFilter.java

@WebFilter("/index14_download.jsp")
public class Servlet13_DownloadFilter implements Filter {
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        //强转子类,多态,向下转型
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        HttpSession httpSession = request.getSession();
        String name = (String) httpSession.getAttribute("adminname");
        if (name == null) {
            //name==null不是登录状态,直接来到登录页面
            response.sendRedirect("/index14_login.jsp");
        } else {
            //如果name不为空了,证明用户已经登录上了,过滤链继续往下走。
            filterChain.doFilter(servletRequest, servletResponse);
        }

    }
}

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

原文地址: https://outofmemory.cn/zaji/5707725.html

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

发表评论

登录后才能评论

评论列表(0条)

保存