`
leiwuluan
  • 浏览: 703545 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

web filter 过滤器 乱码处理的好方法,一个类就搞定。工程内都可以处理

阅读更多

这是一个WEB上的一个过滤器的用法。它可以用来判断用户是否登录和用来处理乱。方法如下

1 用过滤器做编码处理。

   代码如上

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

public class SetCodingFilter implements Filter {

 private String coding = null;
 public void destroy() {
  // TODO Auto-generated method stub

 }

 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  // TODO Auto-generated method stub
  //HttpServletRequest req = (HttpServletRequest)request;
  
  //设置请求编码
  request.setCharacterEncoding(coding);
  
  //调用下一个过滤器,(如果没有,就把请求提交给请求目标)
  chain.doFilter(request, response);
 }

 public void init(FilterConfig config) throws ServletException {
  
  //获取filter初始化参数(web.xml文件中配置的参数)
  coding = config.getInitParameter("coding");
 }

}

以上的是一个过滤器类。然后再置一下。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>SetCodingFilter</filter-name>
   <filter-class>com.filter.SetCodingFilter</filter-class>
   <init-param>
    <param-name>coding</param-name>
    <param-value>UTF-8</param-value>
   </init-param>
  </filter>

 

<filter-mapping>
   <filter-name>SetCodingFilter</filter-name>
   <url-pattern>/*</url-pattern>此过滤器用于所有的页面
  </filter-mapping>

 

  

以上红色的代码是关键代码
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

2 用来判断用户是否登录。

第一部:

先写一个类如下

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class UserOnlineFilter implements Filter {

 public void destroy() {
  // TODO Auto-generated method stub

 }

 public void doFilter(ServletRequest servletrequest,
   ServletResponse servletresponse, FilterChain filterchain)
   throws IOException, ServletException {
  // TODO Auto-generated method stub
  
  HttpServletRequest request = (HttpServletRequest)servletrequest;
  HttpServletResponse response = (HttpServletResponse)servletresponse;
  HttpSession session = request.getSession();
  String username = (String)session.getAttribute("username");
  
  //验证用户是否登录(session对象中是否存在用户信息)
  if(username==null){
   response.sendRedirect(request.getContextPath()+"/login.jsp");
  }else{
   filterchain.doFilter(servletrequest, servletresponse);
  }
 }

 public void init(FilterConfig filterconfig) throws ServletException {
  // TODO Auto-generated method stub

 }

}

 

第二部:

配制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>UserOnlineFilter</filter-name>
   <filter-class>com.filter.UserOnlineFilter</filter-class>
  </filter>


    <filter-mapping>
   <filter-name>UserOnlineFilter</filter-name>
   <url-pattern>/view/*</url-pattern>这个路径只用于数据交互页面。不能用“/”。否则的话就进不了页面了
  </filter-mapping>
  
    
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

 

时来看看哦。。。我每一天都会写的哦。。。。。一起加油。。。

分享到:
评论

相关推荐

    如何配置Filter过滤器处理JSP中文乱码

    【如何配置Filter过滤器处理JSP中文乱码】 在开发Java Web应用时,尤其是在处理包含中文字符的请求时,可能会遇到中文乱码的问题。解决这个问题的一种常见方法是使用Filter过滤器。以下是配置Filter过滤器处理JSP...

    jsp 过滤器中文乱码的处理

    在本例中,我们可以创建一个名为`ModifyCodeFilter`的过滤器,该过滤器实现`javax.servlet.Filter`接口并覆盖其三个方法:`init()`, `destroy()` 和 `doFilter()`。 `ModifyCodeFilter`的核心代码如下: ```java ...

    jsp用过滤器解决中文乱码问题的方法.docx

    jsp 用过滤器解决中文乱码问题的方法 jsp(JavaServer Pages)是一种广泛...通过定义一个过滤器类,实现Filter接口,并在web.xml文件中配置过滤器,我们就可以解决中文乱码问题。这个方法非常简单、实用,值得推荐。

    jsp 过滤器——解决中文乱码问题

    1. **新建一个包**:首先,在Eclipse集成开发环境中新建一个包,用于存放过滤器类。 - 右键点击项目名或src目录,选择`New` -&gt; `Package`,输入包名。 2. **新建过滤器类**:在创建好的包中,右键点击选择`New` -&gt; ...

    JAVA Web中过滤器

    在JAVA Web开发中,过滤器(Filter)是一个至关重要的组件,它主要负责在请求被Servlet处理之前或之后执行一些预处理或后处理操作。过滤器是JAVA Servlet API的一部分,通过实现javax.servlet.Filter接口来创建...

    java Web项目中过滤器使用方法

    在Java Web开发中,过滤器(Filter)是一个强大的工具,它允许开发者在数据处理的前后进行拦截和修改。本文将详细讲解Java Web项目中过滤器的使用方法,以及如何配置和实现过滤器。 1. **过滤器的概念** 过滤器是...

    jsp中文乱码过滤器

    2. **配置Filter**:在web.xml文件中,我们需要为这个过滤器定义一个唯一的过滤器名称,并指定需要拦截的URL模式。 3. **设置编码**:在`doFilter()`方法中,我们可以使用`HttpServletRequest`的`setCharacter...

    乱码过滤类和配置使用方法

    下面是一个简单的示例,展示如何在Spring Boot中创建一个乱码过滤器: ```java import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; @Component public class ...

    JavaWeb乱码过滤器.zip

    character-encoding-filter 是 Java Web 乱码过滤器。 web.xml &lt;filter&gt;  &lt;filter-name&gt;character-encoding-filter&lt;/filter-name&gt;  &lt;filter-class&gt;...

    java中文过滤器消除乱码问题

    为了解决这个问题,我们可以利用`Filter`接口创建一个专门处理编码转换的过滤器。 1. **创建过滤器类** 首先,我们需要创建一个实现了`javax.servlet.Filter`接口的类。在这个类中,我们重写`doFilter()`方法,这...

    servlet过滤器解决乱码问题

    在`web.xml`文件中配置过滤器及其映射规则,确保所有请求都经过此过滤器处理。 ```xml &lt;filter&gt; &lt;filter-name&gt;SetCharFilter&lt;/filter-name&gt; &lt;filter-class&gt;com.filter.SetCharFilter&lt;/filter-class&gt; ...

    ssh框架乱码过滤器Filter

    对于JS提交的情况,由于数据通常通过Ajax异步发送,不在表单提交的范围内,因此不能直接通过上述过滤器处理。对于JS提交的中文乱码问题,你需要在前端设置请求头的`Content-Type`为`application/x-...

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

    1. **编写Filter类**:创建一个实现了`javax.servlet.Filter`接口的类,并重写其中的方法。 2. **配置Filter**:在`web.xml`文件中配置Filter。 #### 五、示例代码分析 ##### 5.1 MyFilter.java ```java package ...

    Socket通信,封包处理, Filter过滤器处理

    Socket可以视为网络上的两个程序之间的一个连接点,通过这个连接点,数据可以在它们之间流动。在Java中,Socket类和ServerSocket类提供了创建和管理Socket连接的方法。ServerSocket监听特定端口,等待客户端的连接...

    servlet过滤器Api 以及乱码处理.javascript注入问题

    配置过滤器通常在`web.xml`部署描述符中完成,或者在Java配置类中使用`@WebFilter`注解。在`web.xml`中,我们可以指定过滤器的URL模式、初始化参数和过滤器链的顺序。 乱码问题在Web开发中是一个常见的挑战。...

    过滤器实现get请求乱码问题

    要解决这个乱码问题,我们可以按照以下步骤创建一个过滤器: 1. 创建Filter类:首先,我们需要创建一个实现了javax.servlet.Filter接口的类。在类中,我们需要重写doFilter()方法,这是过滤器的核心,它将在每次...

    java配置过滤器,解决乱码

    标题提到的"java配置过滤器,解决乱码",实质上是通过使用Servlet过滤器(Filter)来处理HTTP请求和响应中的编码问题,确保数据在传输过程中不出现乱码。下面我们将深入探讨Java中的乱码问题,以及如何通过配置过滤...

    tomcat过滤器,处理表单提交出现乱码

    要创建一个过滤器,需要定义一个实现`javax.servlet.Filter`接口的类,并重写`doFilter()`方法。 2. **配置过滤器**: 在`web.xml`配置文件中,我们需要定义过滤器并指定其作用范围。例如,如果希望过滤所有请求,...

    java web自动登陆和乱码过滤器

    在Java Web开发中,过滤器(Filter)是一个非常重要的组件,它允许我们在数据处理之前或之后执行特定的任务,如身份验证、字符编码转换等。"java web自动登陆和乱码过滤器"的主题主要涵盖两个核心知识点:自动登录...

    JAVA Web 用过滤器和包装器消除乱码

    在这个场景下,我们可以创建一个名为`CharacterEncodingFilter`的过滤器,用于设置请求和响应的字符编码格式,确保数据正确解析和编码。 `CharacterEncodingFilter.java`的主要实现可能如下: ```java import ...

Global site tag (gtag.js) - Google Analytics