[1] JSP里的一个最简单的过滤器(filter)的例子

简介: 一个每隔五秒钟自动刷新的jsp页面:
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>Auto Refresh Header Example</title>
</head>
<body>
<center>
<h2>Auto Refresh Header Example</h2>
<%    response.setIntHeader("Refresh", 5);    
      Calendar calendar = new GregorianCalendar();    
    String am_pm;    
    int hour = calendar.get(Calendar.HOUR);    
    int minute = calendar.get(Calendar.MINUTE);    
    int second = calendar.get(Calendar.SECOND);    
    if(calendar.get(Calendar.AM_PM) == 0)       
       am_pm = "AM";    
    else       
       am_pm = "PM";    
    String CT = hour+":"+ minute +":"+ second +" "+ am_pm;    
    out.println("Current Time is: " + CT + "\n"); 
%>
</center>
</body>
</html>

在开发包com.sap.jerry中创建新的filter:

image.png

package com.sap.jerry;
import javax.servlet.*;
import java.util.*;
public class LogFilter implements Filter  {
     public void  init(FilterConfig config) 
                           throws ServletException{
        // 获取初始化参数
        String testParam = config.getInitParameter("test-param"); 
        //打印初始化参数
        System.out.println("Test Param: " + testParam); 
     }
     public void  doFilter(ServletRequest request, 
                   ServletResponse response,
                   FilterChain chain) 
                   throws java.io.IOException, ServletException {
        // 获取客户端ip地址  
        String ipAddress = request.getRemoteAddr();
        // 输出ip地址及当前时间
        System.out.println("IP "+ ipAddress + ", Time "
                                         + new Date().toString());
        // 传递请求道过滤器链
        chain.doFilter(request,response);
     }
     public void destroy( ){
        /* 在Filter实例在服务器上被移除前调用。*/
     }
  }

在WebContent/WEB-INF文件夹下的web.xml里,添加filter的声明:

image.png

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://java.sun.com/xml/ns/javaee"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  id="WebApp_ID" version="3.0">
  <display-name>jerryjsp</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <filter>
   <filter-name>LogFilter</filter-name>
   <filter-class>com.sap.jerry.LogFilter</filter-class>
   <init-param>
    <param-name>test-param</param-name>
    <param-value>Initialization Paramter</param-value>
   </init-param>
</filter>
<filter-mapping>
   <filter-name>LogFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

之后即可在console页面里观察到filter类打印的输出:

image.png

相关文章
|
12月前
|
XML Java 数据安全/隐私保护
JSP 和 Servlet 中的过滤器都是 Java 类。
JSP 和 Servlet 中的过滤器都是 Java 类。
60 0
|
XML Java 数据安全/隐私保护
JSP 过滤器
JSP 过滤器
65 0
|
Java
JSP之两个Filter
JSP之两个Filter
152 0
[1] JSP里的一个最简单的过滤器(filter)的例子
[1] JSP里的一个最简单的过滤器(filter)的例子
[1] JSP里的一个最简单的过滤器(filter)的例子
|
Java
[1] JSP里的一个最简单的过滤器(filter)的例子
[1] JSP里的一个最简单的过滤器(filter)的例子
102 0
[1] JSP里的一个最简单的过滤器(filter)的例子
|
数据安全/隐私保护
JSP+Servlet培训班作业管理系统[22]–番外篇之过滤器与权限管理
本文目录 1. 本章任务 2. 开发过滤器类 3. 过滤器拦截 4. 过滤器通过 5. 权限管理的实现
114 0
|
Java 容器 API
初识 JSP---(Filter)
Filter Filter的基本功能是对servlet容器调用servlet的过程进行拦截 从而在servlet进行响应处理的前后实现一些特殊的功能   在servletAPI中定义了三个接口来供开发人员编写Fil...
1200 0
|
Java
jsp servlet中的过滤器Filter配置总结
在Java web开发中常会使用到功能强大的过滤器,他毕竟能给我们带来很大的方便,但是针对过滤的资源我们需要详细的了解他们在web.xml中的配置信息。
724 0
|
1月前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
26 1
|
1天前
|
前端开发 JavaScript Java
Java与Web开发的结合:JSP与Servlet
Java与Web开发的结合:JSP与Servlet
7 0

相关课程

更多