[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:
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的声明:
<?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类打印的输出:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
[1] JSP里的一个最简单的过滤器(filter)的例子相关推荐
- 在SAP WebIDE里开发一个最简单的react component
源代码如下: <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="ut ...
- 使用SAP iRPA创建一个最简单的hello world项目并部署到SAP云平台上
如何进入SAP iRPA控制台? 在SAP云平台的subaccount里,点击Subscriptions,找到SAP intelligent robotic Process Automation: 进 ...
- 收了100元辛苦费,写了一个最简单的C#ASP.NET的3层架构例子代码,源码是通过代码生成器生成的【写程序的效率神奇的高】...
为什么80%的码农都做不了架构师?>>> 有一个客户购买了代码生成器,虽然我把很多基础类库的源码及配套的源码都发给他了,但是他由于时间忙的原因,还是没自己仔细看,而是希望我以他 ...
- python取消任务的方法_python里取消一个未曾执行的任务
python里取消一个未曾执行的任务 下面的例子使用create_task()函数来创建一个任务,在未执行任务之前就进行取消: import asyncio async def task_func() ...
- JSP+Mysql 做一个简单的学生成绩查询web系统
IDEA基于JSP+Mysql 做一个简单的学生成绩查询web系统 目录 一.相关软件的下载和配置环境 Java环境的下载和配置 (1)IDEA的下载和安装 (2)JdK的安装 Tomcat的下载 ...
- 手把手教你用JSP+Servlet+Tomcat实现一个最简单的Web应用
JSP+Servlet+Tomcat实现一个简单的Web应用 需要使用到的技术 ①JSP ② Servlet ③Tomcat Web开发中的常见概念 Demo *本文针对编程务实实验内容,简单演示一下 ...
- mysql jsp分页技术_一个非常简单的分页技术MYSQL JSP 利用了mysql的LIMIT参数
一个非常简单的分页技术MYSQL JSP 利用了mysql的LIMIT参数 优点:1自己想出来的 2利用了MYSQL 数据库的本身 LIMIT 缺点:现在仅仅实现了 下一个页面功能 <% int ...
- mysql jsp分页技术_一个非常简单的分页技术MYSQL+JSP 利用了mysql的LIMIT参数
一个非常简单的分页技术MySQL(和PHP搭配之最佳组合)+jsp(SUN企业级应用的首选) 利用了MySQL(和PHP搭配之最佳组合)的LIMIT参数 优点:1自己想出来的 2利用了MySQL(和P ...
- bbs jsp mysql_BBS 一个比较简单的用jsp+servlet+mysql做的bbs论坛 Jsp/ 265万源代码下载- www.pudn.com...
文件名称: BBS下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Java 文件大小: 1038 KB 上传时间: 2014-11-02 下载次数: 42 提 供 者: 陈生 详细说 ...
最新文章
- java 并发队列_JAVA并发编程:阻塞队列BlockingQueue之SynchronousQueue
- vc6怎么看错误在哪_网红莉哥怎么红的为什么被封了 网红莉哥1400事件视频在哪看...
- 在VS2012中安装使用cppcheck
- 一个很有借鉴价值的编程故事(转)
- 关于maven面试的哪些事儿~
- RabbitMQ集群(单机多实例部署)
- 计算机网络与社会需求,计算机网络的技术论文计算机网络与社会需求.doc
- java泛型范围_Java泛型类型中的通配符参数在其范围内的正式条件是什么?
- ubuntu 安装php 5.4.9 编译安装
- pdf 分形 张济忠_清华大学出版社-图书详情-《分形(第2版)》
- 网站html页面显示404错误,网站怎样设置404错误页面
- 2009年下半年 系统集成项目管理工程师 下午试卷
- 多个excel工作簿合并_如何使用Excel VBA将多个工作簿的全部工作表合并到一个工作簿中...
- ddr4 dqs 频率_ddr4
- 新连接、新生意、新生态,专访快手商业生态开放平台
- 分门别类刷leetcode——栈、队列、堆(C++实现)
- 安卓模拟器(手机)安装抓包工具(fiddler)证书及手机设置代理后无法上网?
- Git--Git基本使用
- vm虚拟服务器添加网卡,win7系统下vmware虚拟机添加加载无线网卡的方法
- mongod 启动 Illegal instruction (core dumped)
热门文章
- [C++] const与重载
- FIO测试磁盘的iops
- [转] apache配置rewrite及.htaccess文件
- 垃圾回收③---垃圾回收器
- cnpm install -g live-server 安装服务
- 关于splice()方法,slice() 、split()方法讲解,reverse()方法、replace()方法
- 关于vue搭建项目运行出行的错误问题,简直是大坑啊
- 规定自己的Java编码规范
- T-SQL with as 关键字
- 东拉西扯:那些“老”互联网公司