• 参数获取


    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
        <!--全局初始化参数-->
        <context-param>
            <param-name>a</param-name>
            <param-value>全局初始化参数</param-value>
        </context-param>
    
    
        <filter>
            <filter-name>login</filter-name>
            <filter-class >filter.LoginFilter</filter-class>
            <!--过滤器中参数-->
            <init-param>
                <param-name>uri</param-name>
                <param-value>update,updateDo,delete</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>login</filter-name>
            <url-pattern>/user</url-pattern>
        </filter-mapping>
        <!--过滤器执行-->
    
    
        <servlet>
            <servlet-name>MyServlet</servlet-name>
            <servlet-class>MyServlet</servlet-class>
            <init-param>
                <!--servlet初始化参数-->
                <param-name>charset</param-name>
                <param-value>servlet初始化参数</param-value>
            </init-param>
        </servlet>
        <servlet-mapping>
          <!-- 映射 -->
            <servlet-name>MyServlet</servlet-name>
            <url-pattern>/my</url-pattern>
        </servlet-mapping>
        <servlet>
            <servlet-name>UserController</servlet-name>
            <servlet-class>UserController</servlet-class>
            <!--在服务器启动的时候就初始化servlet对象 值为初始化顺序-->
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>UserController</servlet-name>
            <url-pattern>/user/*</url-pattern>
        </servlet-mapping>
        <!--执行登录界面-->
    </web-app>
    
    
    //在servlet获取参数
    
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletContext;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class MyServlet extends javax.servlet.http.HttpServlet {
        protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
            doGet( request,response);
        }
    
        protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
            //获取servlet初始化参数
            ServletConfig servletConfig = getServletConfig();
            String v = servletConfig.getInitParameter("charset");
            System.out.println(v);
    
            //获取全局初始化参数
            ServletContext servletContext = getServletContext();
            String  value = servletContext.getInitParameter("a");
            System.out.println(value);
    
        }
    }
    
    
    //在过滤器中获取参数
      
    package filter;
    
    import javax.servlet.*;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    /*
    *
    * 登录过滤器
    * */
    public class LoginFilter implements Filter {
        private List<String> list;
        /*
        * 过滤器实例化以后会执行一次
        * */
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
            list =new ArrayList<>();
           /* list.add("update");
            list.add("updateDo");
            list.add("delete");*/
    
        //获取过滤器初始化参数
           String value = filterConfig.getInitParameter("uri");//uri 就是url除去协议端口的剩下部分
           String[] uris =value.split(",");   //数组
           for(String s:uris){
               list.add(s);
           }
    
    
        }
    
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
            HttpServletRequest request = (HttpServletRequest)servletRequest;  //强转类型
            HttpServletResponse response =( HttpServletResponse)servletResponse;
    
            //获取全局初始化参数
            String a = request.getServletContext().getInitParameter("a");
            System.out.println(a);
    
            String m = servletRequest.getParameter("m");
            if(list.contains(m)){  //判断如果存在这个参数
                HttpSession session =request.getSession();
                Object o = session.getAttribute("C_USER");
                if(o ==null){
                    response.sendRedirect("/web/user?m=login");
                    return;//退出该方法
                }
    
            }
            filterChain.doFilter(request,response);  //执行该该请求接下来的事情
        }
    
        @Override
        public void destroy() {
    
        }
    }
  • 相关阅读:
    “百度杯”CTF比赛 九月场 code
    初识thinkphp(3)
    i春秋CTF web题(1)
    初识thinkphp(2)
    初识thinkphp(1)
    0MQ底层队列设计
    0MQ文档导读
    LF模式是个坑,ZeroIce中间件让你体会这个痛
    0xe7f001f0!?NDK调试过程,无故抛出SIGSEGV。
    KDevelop
  • 原文地址:https://www.cnblogs.com/houtian2333/p/10749263.html
Copyright © 2020-2023  润新知