zoukankan      html  css  js  c++  java
  • Filter练习一

    1.创建两个Filter过滤器UserNameFilter/PassWordFilter

    2.进行Filter的注册和配置

    3.Filter初始化参数和web应用的初始化参数

    4.在Filter中完成信息比较

    实现效果:

     

    实现代码:

    UserNameFilter

    package com.demo.filter;
    
    import javax.servlet.*;
    import java.io.IOException;
    
    public class UserNameFilter  implements Filter {
    
        private FilterConfig filterConfig;
    
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
            this.filterConfig = filterConfig;
        }
    
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
           String initUser = filterConfig.getInitParameter("username");
           String username = servletRequest.getParameter("username");
    
           if (!initUser.equals(username)){
               servletRequest.setAttribute("message","用户名不正确");
               servletRequest.getRequestDispatcher("login.jsp").forward(servletRequest,servletResponse);
               return;
           }
           filterChain.doFilter(servletRequest,servletResponse);
        }
    
        @Override
        public void destroy() {
    
        }
    }
    

      

    PassWordFilter

    package com.demo.filter;
    
    import javax.servlet.*;
    import java.io.IOException;
    
    public class PassWordFilter implements Filter {
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
            this.filterConfig = filterConfig;
        }
    
        private FilterConfig filterConfig;
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
            String initPassword = filterConfig.getServletContext().getInitParameter("password");
            String password = servletRequest.getParameter("password");
            if (!initPassword.equals(password)){
                servletRequest.setAttribute("message","密码不正确");
                servletRequest.getRequestDispatcher("login.jsp").forward(servletRequest,servletResponse);
                return;
            }
            filterChain.doFilter(servletRequest,servletResponse);
        }
    
        @Override
        public void destroy() {
    
        }
    }
    

      

    web.xml

        <filter>
            <filter-name>UserNameFilter</filter-name>
            <filter-class>com.demo.filter.UserNameFilter</filter-class>
            <init-param>
                <param-name>username</param-name>
                <param-value>Tom</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>UserNameFilter</filter-name>
            <url-pattern>/filter/hello.jsp</url-pattern>
        </filter-mapping>
    
        <filter>
            <filter-name>PassWordFilter</filter-name>
            <filter-class>com.demo.filter.PassWordFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>PassWordFilter</filter-name>
            <url-pattern>/filter/hello.jsp</url-pattern>
        </filter-mapping>
    
        <context-param>
            <param-name>password</param-name>
            <param-value>1234</param-value>
        </context-param>
    

      

    login.jsp

    <%--
      Created by IntelliJ IDEA.
      User: dell
      Date: 2019/7/16
      Time: 14:54
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <font color="red">
        ${message}
    </font>
    <br><br>
    <form action="hello.jsp" method="post">
        username: <input type="text" name="username" value="${param.username}">
        password: <input type="password" name="password">
    
        <input type="submit" value="Submit">
    </form>
    </body>
    </html>
    

      

    hello.jsp

    <%--
      Created by IntelliJ IDEA.
      User: dell
      Date: 2019/7/16
      Time: 14:57
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    
    
        Hello:${param.username}
    </body>
    </html>
    

      

  • 相关阅读:
    godaddy掉包抽风实况记录
    多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成
    Godaddy空间访问过慢 或是联通/网通运营商限制
    A4纸网页打印中对应像素的设定和换算
    lnmp下 nginx服务器 shopex 安装 出现502 Bad Gateway
    时代互联域名管理后台增加二级域名的方法
    简单的会员系统
    图文讲解如何在godaddy注册的域名如何修改DNS指向
    距离计算方法总结
    今天开始学模式识别与机器学习Pattern Recognition and Machine Learning 书,章节1.1,多项式曲线拟合(Polynomial Curve Fitting)
  • 原文地址:https://www.cnblogs.com/yangHS/p/11195149.html
Copyright © 2011-2022 走看看