Filter
2015-08-05 10:33
267 查看
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>
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>
相关文章推荐
- *Binary Tree Level Order Traversal
- HTML embed标签使用方法和属性详解
- 排序
- 编写一个属于自己的sax解析xml文档
- string.h 中常用函数
- 解决没有Win10推送图标问题
- 简单易用的word转pdf转换软件
- java循环|分支结构
- (C#)工厂方法模式
- [分享]牛牛图片查看器[仿QQ图片查看器]及大致原理说明
- 个人收录
- C++ 运算符笔记
- YII 1.0 (7) 登录信息调取 session使用
- 南邮 OJ 1181 字符排序
- OC习题 通讯录 (知识点: 字典 封装 字符串 数组 枚举)
- 开发者必知的五大编程谬论
- zoj 2100 Seeding
- Linux下chkconfig命令详解
- PlaceHolder的两种实现方式(输入框提示)
- 如何获取别人微信文章中的图片