`

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三层架构的项目。在这个学生信息管理系统中,过滤器被用来实现各种功能,如数据校验、登录检查、字符编码转换等。下面将...

    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 对...

    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 对...

    jsp过滤器学习文档

    `init()`方法在过滤器被加载时调用,`doFilter()`方法处理每个请求,`destroy()`方法在过滤器实例销毁前调用。 3. **过滤器链** 请求会经过一系列过滤器,形成一个过滤器链。每个过滤器可以决定是否继续传递请求到...

    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()`方法用于定义过滤...

Global site tag (gtag.js) - Google Analytics