Java - Part 9

2020-02-25  本文已影响0人  低调的灬攻城狮

一、Filter

1、编写过滤器

public class AutoLoginFilter implements Filter {
    //过滤器的生命周期 : 服务器启动诞生  服务器运行 活着   服务器关闭  消亡
    public void init(FilterConfig filterConfig) throws ServletException { }
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        //为什么要强转?
        //Session是和Http协议配合的, 所以只有HttpServletRequest才能获取到
        //能安全的强转吗?
        //如果请求是http协议的, 那么, tomcat造的就是HttpServletRequest对象, ServletRequest 是HttpServletRequest父类
        HttpServletRequest req = (HttpServletRequest) servletRequest;
        Object obj = req.getSession().getAttribute("login");//获取登录标志
        if(obj==null){
            //做自动登录
            Cookie[] cookies = req.getCookies();//如果前台一个cookie都没有传递过来, 这里会获取到null
            if(cookies!=null){
                for (Cookie cookie : cookies) {
                    String name = cookie.getName();
                    if("autologin".equals(name)){
                        String value = cookie.getValue();
                        String[] strs = value.split("=");
                       if(Message.users.containsKey(strs[0])&&Message.users.get(strs[0]).equals(strs[1])){
                            req.getSession().setAttribute("login",true);
                            break;//不能写return, 如果是return的话, 放行代码都无法执行了
                        }
                    }
                }
            }
        }
        filterChain.doFilter(servletRequest,servletResponse); //放行请求
    }
    public void destroy() { }
}

二、监听器

1、编写监听器

三、JSP

1、HTML作为展示页的缺点

2、解决办法

3、JSP介绍

4、JSP指令

5、JSP的动作(尽量不用)

6、JSO九大内置对象

四、JSP的四大域对象

五、EL表达式

EL表达式不是一种语言,是JSP中获取数据的一种规范

六、JSTL

这是一款强大的逻辑标签库,可以在JSP页面进行逻辑判断,在使用之前需要导入外部标签库,主要用到的是两个标签:判断与循环。

上一篇 下一篇

猜你喜欢

热点阅读