• Filter


    1.定义自己的过滤器,Myfilter 实现Filter接口

    public class MyFilter implements Filter {
    FilterConfig filterConfig = null;

    public void init(FilterConfig filterConfig) throws ServletException {
    this.filterConfig = filterConfig;
    }

    public void destroy() {
    }

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
    throws IOException, ServletException {
    servletResponse.setContentType("text/html");

    PrintWriter out = servletResponse.getWriter();
    out.println("my-param (InitParameter): " + filterConfig.getInitParameter("name"));
    out.println("<br/><br/>Parameters:<br/>");
    Enumeration<String> parameterNames = servletRequest.getParameterNames();

    if (parameterNames.hasMoreElements()) {
    while (parameterNames.hasMoreElements()) {
    String name = parameterNames.nextElement();
    String value = servletRequest.getParameter(name);
    out.println("name:" + name + ", value: " + value + "<br/>");
    }
    } else {
    out.println("---None---<br/>");
    }
    out.println("<br/>Start Regular Content:<br/><hr/>");
    filterChain.doFilter(servletRequest, servletResponse);
    out.println("<br/><hr/>End Regular Content:<br/>");

    }

    }

    2. 设计Servlet

    public class Aservlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    performTask(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
    IOException {
    performTask(request, response);
    }

    private void performTask(HttpServletRequest request, HttpServletResponse response) throws ServletException,
    IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("TestServlet says hi"+request.getProtocol());

    }
    }

    3.web.xml中配置

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <filter>
    <filter-name>myFilter</filter-name>
    <filter-class>com.donghua.filter.MyFilter</filter-class>
    <init-param>
    <param-name>name</param-name>
    <param-value>my-filter</param-value>
    </init-param>

    </filter>

    <filter-mapping>
    <filter-name>myFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    <servlet>
    <servlet-name>myServlet</servlet-name>
    <servlet-class>com.donghua.filter.Aservlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>myServlet</servlet-name>
    <url-pattern>/test</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    </web-app>

  • 相关阅读:
    日常
    hdoj 5690 All X (快速幂+取模)
    hdoj 4004 The Frog's Games(二分)
    Mac androidStudio cannot resolve corresponding JNI function
    Mac 切换JDK版本
    MAC系统 如何显示隐藏的文件(文件夹)
    C 读写文件以及简单的文件加密
    C 双向链表的简单排序实现
    Android ViewDragHelper详解
    android Toast的内容过长,如何居中显示?
  • 原文地址:https://www.cnblogs.com/daxiong225/p/4704025.html
Copyright © 2020-2023  润新知