`

JSP Filter过滤器的简单实例.

阅读更多

公司做项目,一直在开发了SAP系统,.很没有做过JavaWeb项目了,.今天有点时间来复习下Servlet 和JSP ,已经Filter过滤器知识..

我们知道Filter过滤器,能为我们,

1)过滤字符..处理乱码.设置统一字符编码,

2)对用户登录的验证.

3)改变图片的格式.

4)做相应的压缩处理.等等..

 

新建JavaWeb项目,取名为:MyFristDemo.

在项目中:

建立 pack.java.filter 包,  建立一个Filter过滤器,取名为:MyFilter.java

建立 pack.java.servlet 包, 建立一个Servlet,取名为:MyServlet.java

 

 

下面是一个MyServlet.java文件,Myservelt需要继承 HttpServlet类,重写eservice方法,用来处理get和post请求.这里只是接收页面输入的字符,.并且显示的作用..并没有做其他的处理.

 

public class MyServlet extends HttpServlet {
 /**
  * Destruction of the servlet. <br>
  */
 public void destroy() {
  super.destroy(); // Just puts "destroy" string in log
 }

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  out.flush();
  out.close();
  this.doPost(request, response);
 }
 
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  String username = request.getParameter("username");
  String password = request.getParameter("password");
  out.print(username+","+password);
  out.flush();
  out.close();
 }

}

  

下面是一个MyFilter文件. Filter 需要实现Filter接口..并且实现doFilter()方法.

public class MyFilter implements Filter {
 private FilterConfig filterConfig;
 private String enconfig;
 public void destroy() {
  // TODO Auto-generated method stub
  this.filterConfig=null;
  this.enconfig=null;
  System.out.println("过滤器销毁成功!");
 }
 
 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  // TODO Auto-generated method stub
  if (this.enconfig!=null) {
   request.setCharacterEncoding(this.enconfig);
   response.setCharacterEncoding(this.enconfig);
   System.out.println("过滤器处理中:"+this.enconfig);
  }
  //处理权交给下一个过滤器;
  chain.doFilter(request, response);
 }

 public void init(FilterConfig arg0) throws ServletException {
  // TODO Auto-generated method stub
  this.filterConfig=arg0;

 //获得,web.xml文件中配置languageconfig 的值,我在web.xml文件中配置了languageconfig 的值为:utf-8;
  this.enconfig=this.filterConfig.getInitParameter("languageconfig");
  System.out.println("过滤器初始化成功!");
 }
}

  

 

XML配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<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>pack.java.filter.MyFilter</filter-class>    --指定到过滤器的package 和所在的Class文件

 <init-param>                                                               --初始参数配置. (在这里配置,目的是为了,在doFilter获得,
   <param-name>languageconfig</param-name>        --参数名 
   <param-value>utf-8</param-value>                         --参数值. 
  </init-param>
 </filter> 

 

 <filter-mapping>                                                           --过滤器映射.  
 <filter-name>MyFilter</filter-name>                             --过滤器名称 
 <url-pattern>/*</url-pattern>                                      --过滤所有文件,当然你也可以过滤某个文件下的文件.
 </filter-mapping> 
 


  <servlet>                                                                      --Servlet的配置,这里与上面差不多.不详细介绍.
    <servlet-name>MyServlet</servlet-name>
    <servlet-class>pack.java.servlet.MyServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/MyServlet</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

  

在新建JSP页面.

<form action="MyServlet" method="post">
    UserName:<input type="text" name="username" style="border:1px solid red"/><br/>
    PassWord:<input type="password" name="password" style="border:1px solid red"/><br/>
    <input type="submit" name="btnSubmit" value="Submit"/>
 </form> 

  

输入中文,过滤器将会处理,字符设置为utf-8,从而达到..正常显示字符..

 

分享到:
评论

相关推荐

    jsp中的过滤器(含例子)

    本篇将深入讲解`JSP`中的过滤器,并通过实例来帮助理解其工作原理和应用场景。 首先,我们需要了解`Filter`的基本概念。过滤器是一个实现了`javax.servlet.Filter`接口的类,它可以拦截HTTP请求并进行预处理,或者...

    JSP网上书店开发完整实例.rar

    这通常通过过滤器(Filter)实现,过滤器会在请求到达目标资源之前进行拦截。 7. **支付接口**:如果支持在线支付,项目可能会集成第三方支付平台的API,如支付宝或微信支付。 8. **后台管理**:这部分可能包括...

    jsp过滤器的使用(含一个project实例说明)

    项目名为`filter`,我们创建一个简单的登录过滤器,确保用户在访问受保护的JSP页面前已登录。首先,创建过滤器类`LoginFilter`: ```java import javax.servlet.*; import java.io.IOException; public class ...

    java过滤器简单实例

    在这个简单的实例中,我们将探讨如何创建和使用一个基本的Java过滤器。 首先,我们需要实现`javax.servlet.Filter`接口,并覆盖其核心方法`doFilter()`。`doFilter()`方法在每次请求到达目标资源前和离开时都会被...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    20.5 对用户进行统一验证的过滤器 594 20.6 对请求和响应数据进行替换的 20.6 过滤器 600 20.7 小结 609 第21章 中文乱码问题与国际化 610 21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对...

    servlet过滤器技术实例,

    在本实例中,我们将深入探讨Servlet过滤器(Filter)的使用和实现,以及它在实际应用中的重要性。 一、Servlet过滤器简介 Servlet过滤器遵循Java Servlet规范,通过实现`javax.servlet.Filter`接口来创建自定义过滤...

    过滤器的使用.rar

    "过滤器的使用.rar"这个资源包提供了关于如何在实际项目中应用过滤器的实例,特别是针对JDBC三层架构的项目。在这个学生信息管理系统中,过滤器被用来实现各种功能,如数据校验、登录检查、字符编码转换等。下面将...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    20.5 对用户进行统一验证的过滤器 594 20.6 对请求和响应数据进行替换的 20.6 过滤器 600 20.7 小结 609 第21章 中文乱码问题与国际化 610 21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对...

    servlet+jsp实现过滤器 防止用户未登录访问

    此外,destroy方法用于在过滤器实例被销毁之前执行一些必要的清理工作,而init方法则是初始化过滤器实例。在init方法中可以接收一个FilterConfig对象,通过它可以获取web应用中filter的初始化参数,但在本例中,init...

    jsp 权限过滤器的应用

    【标题】:“jsp 权限过滤器的应用” 在Java Web开发中,权限过滤器是实现用户访问控制的关键组件。它允许开发者对用户的请求进行预处理,根据用户的角色和权限来决定是否允许他们访问特定的资源。这篇博客文章,...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    20.5 对用户进行统一验证的过滤器 594 20.6 对请求和响应数据进行替换的 20.6 过滤器 600 20.7 小结 609 第21章 中文乱码问题与国际化 610 21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对...

    第22章 Filter过滤器.pdf

    【第22章 Filter过滤器】详解 在Java Web开发中,Filter过滤器是一个至关重要的组件,它允许开发者在客户端请求到达目标资源(如Servlet)之前进行预处理,并在响应返回给客户端之前进行后处理。这章我们将深入探讨...

    jsp filter 过滤器功能与简单用法示例

    **JSP Filter 过滤器概述** 在Java Web开发中,`JSP Filter` 是一个强大的工具,它允许开发者在客户端请求到达Servlet或者JSP页面,以及服务器响应返回客户端之前,对请求和响应进行处理。这使得开发者能够在不修改...

    Java Web开发中过滤器组件应用及实例解析.pdf

    以下是一个简单的登录检查过滤器的实例: ```java public class LoginCheckFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException {} @Override public...

    Filter过滤器(分类讨论,分类讲解)

    ### Filter过滤器(分类讨论,分类讲解) #### 一、Filter概述 在Java Web开发中,`Filter`是一种非常重要的技术,它可以在请求到达目标资源(如Servlet或JSP页面)之前进行预处理,或者在响应返回客户端之前进行...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    20.5 对用户进行统一验证的过滤器 594 20.6 对请求和响应数据进行替换的 20.6 过滤器 600 20.7 小结 609 第21章 中文乱码问题与国际化 610 21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对...

    Filter(过滤器)简介和工作原理

    Filter(过滤器)简介和工作原理 Filter 简介 Filter(过滤器)是 Java EE 中的一种组件,用于拦截和处理 Servlet 容器中的请求和响应。Filter 的基本功能是对 Servlet 容器调用 Servlet 的过程进行拦截,从而在 ...

    过滤器的jsp实例望大家喜欢

    在本实例中,我们将深入探讨如何使用过滤器与JSP(JavaServer Pages)结合,创建一个功能丰富的Web应用程序。 首先,我们需要了解`javax.servlet.Filter`接口。这个接口定义了三个关键方法:`doFilter()`, `init()`...

    springcloud getaway 全局过滤器.doc

    在`filter`方法中,我们可以访问并修改请求(`ServerHttpRequest`)和响应(`ServerHttpResponse`),并且可以通过`GatewayFilterChain`来继续处理后续的过滤器或转发请求到目标服务。`getOrder()`方法用于定义过滤...

    老师给的jsp过滤器

    1. **初始化(Init)**:当过滤器首次被加载时,会调用`init()`方法,用于初始化过滤器实例。 2. **执行过滤(DoFilter)**:每当一个请求匹配到过滤器配置的URL模式时,`doFilter()`方法会被调用。这个方法中,我们...

Global site tag (gtag.js) - Google Analytics