`
piperzero
  • 浏览: 3554820 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

jsp,servlet利用过滤器解决中文乱码,和控制访问权限

阅读更多
  <!-- 过滤器1,解决中文乱码 -->
<filter>
<!-- 名字随便起,但是类要写完整的带包的路径-->
<filter-name>encodingFitler</filter-name>
<filter-class>com.accp.filter.EcondingFilter</filter-class>
<!-- 获取初始化的一些参数-->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>

<!-- 过滤器2,权限控制 -->
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>com.accp.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encodingFitler</filter-name>
<!-- *表示匹配所有 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<!-- 过滤除login.jsp和register.jsp页面的 -->
<url-pattern>/page/*</url-pattern>
</filter-mapping>

这个是过滤器解决中文乱码的类

package com.accp.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
//过滤器类
public class EcondingFilter implements Filter {
private String charset = null;
	public void destroy() {
		// TODO Auto-generated method stub
		System.out.println("filter销毁");
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		System.out.println("doFilter前");
		//对请求的转码
		request.setCharacterEncoding(charset);
		//对回应的转码
		response.setCharacterEncoding(charset);
		chain.doFilter(request, response);
		System.out.println("doFilter后");
		
	}

	public void init(FilterConfig filterConfig) throws ServletException {
		// TODO Auto-generated method stub
		System.out.println("filter初始化");
		//读取初始化filter的参数
		charset=filterConfig.getInitParameter("encoding");
		System.out.println(charset);
	}

}


这个是过滤器控制用户权限的类

package com.accp.filter;

import java.io.IOException;

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.HttpSession;

public class LoginFilter implements Filter {
	public void destroy() {
		// TODO Auto-generated method stub
		System.out.println("filter销毁");
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		System.out.println("doFilter前面");
		//获取HttpServletRequest通过,它的实例获取一个session
		HttpSession session = ((HttpServletRequest)request).getSession();
		//判断session中是否有数据
		if(session.getAttribute("user")!=null){
			System.out.println(session.getAttribute("user"));
			chain.doFilter(request, response);
			System.out.println("doFilter后");
		}else{
			String mes = "你还没有登录";
			System.out.println(mes);
			request.setAttribute("mes", mes);
			request.getRequestDispatcher("../login.jsp").forward(request, response);
		}
	}

	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
		System.out.println("filter被实例化");
		
	}

}

过滤器无需我们在程序中调用,每次当我们获取web请求时,会首先自动的进入过滤器类。


分享到:
评论

相关推荐

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

    jsp 用过滤器解决中文乱码问题的方法 jsp(JavaServer Pages)是一种广泛应用于Web开发的技术,但是在实际开发中,我们经常会遇到中文乱码问题。为了解决这个问题,我们可以使用jsp过滤器来实现编码设置。我今天要...

    JSP利用过滤器解决request中文乱码问题.docx

    JSP利用过滤器解决request中文乱码问题 JSP中requestgetParameter中文乱码问题是经常遇到的问题,解决这个问题有多种方法,但利用过滤器解决request中文乱码问题是其中最有效的一种方法。本文将详细介绍如何使用...

    利用过滤器解决JavaWeb(JSP)的乱码问题

    总之,解决JavaWeb中的乱码问题需要从多个层面进行考虑:设置过滤器统一请求和响应的编码,确保JSP页面的编码正确,以及在处理文件时注意文件内容的编码。通过这些方式,我们可以有效防止和解决乱码问题,提高应用...

    servlet过滤器解决乱码问题

    通过上述步骤,我们可以有效地利用Servlet过滤器来解决Web应用中的乱码问题。这种方式不仅提高了代码的可维护性和扩展性,还保证了用户数据的准确性。在实际项目中,可以根据具体的业务需求调整过滤器的逻辑,例如...

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

    ### jsp过滤器——解决中文乱码问题 #### 背景介绍 在Web应用开发过程中,特别是使用Java Server Pages (JSP)进行中文字符处理时,经常遇到的一个问题是中文字符显示为乱码。这主要是因为客户端与服务器端之间存在...

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

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

    过滤器解决中文乱码(项目)

    通过过滤器,我们可以实现诸如字符编码转换、权限验证、日志记录等功能,而本项目中的过滤器就是用于处理中文乱码问题的。 中文乱码的产生通常与字符编码有关。在不同的系统、不同的编程语言中,字符编码可能会有所...

    servlet过滤器配置,解决JSP的所有乱码

    在标题“servlet过滤器配置,解决JSP的所有乱码”和描述“JSP页面获得servlet是不是经常出现乱码呢?很烦人哦,那就试试这个吧,可以解决所有的乱码,里面有说明教你怎么配”中,主要涉及的知识点是通过配置Servlet...

    jsp 过滤器中文乱码的处理

    本篇文章将详细讲解如何处理JSP中的中文乱码以及如何通过过滤器(Filter)来解决这一问题。 首先,中文乱码的处理主要涉及到字符集(Charset)的概念。在JSP中,当请求参数包含中文字符时,如果不设定字符编码,...

    使用过滤器解决中文乱码问题

    本文将详细讲解如何利用过滤器来解决中文乱码问题。 1. **理解中文乱码** 中文乱码通常是因为字符编码不一致导致的。在计算机系统中,字符被编码成二进制表示,不同的编码标准(如GBK、UTF-8等)对同一字符有不同...

    jsp+servlet+mysql乱码解决的这天

    控制器servlet中的请求编码格式为utf-8,数据库连接url中添加useUnicode=true&characterEncoding=UTF-8参数,编写filter过滤器设置请求和响应的编码格式为gb2312,最后配置web.xml文件中filter映射关系,来确保中文...

    JSP利用过滤器解决request中文乱码问题

    实际上,这个技术点是基于Servlet过滤器机制实现的,它不仅可以处理中文乱码问题,还可以扩展应用到其他类型的请求数据处理,例如进行数据格式验证、安全检查等。过滤器是JSP中一个非常强大和灵活的功能,可以有效地...

    servlet与jsp中文乱码处理

    通过以上方法,基本可以解决servlet和jsp在接收和显示中文时的乱码问题。但在实际开发中,可能还需要根据具体环境和需求进行调整。了解这些知识点,对于Java Web开发者来说是非常必要的,能够提高项目的稳定性和用户...

    jsp中文乱码过滤器

    JSP中文乱码过滤器通过拦截请求和响应,统一设置字符编码,解决了JSP页面可能出现的乱码问题。理解其工作原理并正确配置,可以帮助开发者在项目中轻松应对中文乱码,提高用户体验。在实际开发中,我们还应注意其他...

    jsp传参 servlet接收中文乱码问题的解决方法.docx

    jsp 传参 servlet 接收中文乱码问题的解决方法 jsp 传参 servlet 接收中文乱码问题是一个经常遇到的问题,特别是在使用 Hibernate+Servlet 框架时。当我们在 jsp 页面传参到 servlet 时,中文字符经常会出现乱码...

    JSP用过滤器解决request getParameter中文乱码问题.docx

    过滤器在Servlet容器中扮演着拦截请求和响应的角色,可以在请求到达目标资源(如JSP页面)之前对其进行预处理,包括设置合适的字符编码,以确保中文字符正确解析。下面将详细介绍如何使用过滤器来解决这个问题。 ...

    Servlet及jsp解决中文乱码问题

    ### Servlet及JSP解决中文乱码问题 #### 一、引言 在Web开发中,中文乱码问题一直是困扰开发者的一大难题。特别是在使用Java技术栈(如Servlet与JSP)进行开发时,如果处理不当,很容易出现中文字符显示乱码的情况...

    利用过滤器解决JavaWeb(JSP)乱码问题

    ### 利用过滤器解决JavaWeb(JSP)乱码问题 #### 一、问题背景与重要性 在JavaWeb开发中,特别是在使用JSP技术时,开发者常常会遇到中文字符显示异常的问题,即所谓的“乱码”。这不仅影响用户体验,还可能导致数据...

    JSP乱码解决过滤器

    总结起来,"JSP乱码解决过滤器"是一种利用Java Servlet Filter机制预先设定请求和响应的字符编码,以避免因编码不一致导致的乱码问题。通过创建并配置类似`CharSetFilter`的过滤器,开发者可以有效地控制整个Web应用...

    过滤器,Jsp开发中的避免中文乱码

    过滤器是Servlet API的一部分,允许我们在数据请求到达目标资源之前或之后进行拦截和处理,包括对字符编码的转换,从而避免乱码的出现。 1. **过滤器概念**: - 过滤器是Java Servlet规范中定义的一种组件,它实现...

Global site tag (gtag.js) - Google Analytics