<!-- 过滤器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请求时,会首先自动的进入过滤器类。
分享到:
相关推荐
配置Filter过滤器处理JSP中文乱码 参考Tomcat服务器目录webapps的examples示例 简单配置步骤: 1.在项目web.xml文件添加过滤器标记和; 2.实现过滤器代码; 3.对Tomcat服务器conf目录里的Server.xml文件配置...
servlet与jsp中文乱码处理,详细介绍多种乱码处理方法,包括使用过滤器的方法
最简单的写法 只要JSP页面的 编码格式和 web.xml 编码格式一样就行
JSP页面获得sercvlet是不是经常出现乱码呢?很烦人哦,那就试试这个吧,可以解决所有的乱码,里面有说明教你怎么配.
本文为大家分享了JSP用过滤器解决request中文乱码问题,具体内容如下 (1)客户端的数据一般是通过HTTP GET/POST方式提交给服务器,在服务器端用request.getParameter() 读取参数时,很容易出现中文乱码现象。 (2...
(2)用过滤器解决request中文乱码问题。 (3)代码如下: package my; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ChineseFilter implements Filter { //定义了一个...
3.使用Filter过滤器解决中文乱码问题 4.使用EL表达式配合JSTL(1.1.2),添加JSTL包 5.使用DBUtils1.6操作数据库,使用原生方法操作数据库 TUserDao使用JDBC TUserDaoEx使用Dbutils 6.扩展方法JsonResult自定义方法
jsp+servlet实现CRUD功能,ajax验证用户名,退出系统,数据库密码加密,过滤器解决中文乱码,实现分页功能,实现导出Excel等等功能。页面不是很美观、、、、
一个简单的类,写进项目里解决中文乱码问题。
毕竟数据是根本嘛,首先我用的是hibernate+servlet,但是在jsp页面传参到servlet的时候中文一直乱码,我尝试了好多方法,最后还是解决了。 第一,首先看清项目的编码,jsp页面的编码 第二,修改tomcat 下面的server....
2、如果乱码是在servlet中出现的,则有两种方法:一种是在每个servlet中doget和doPost方法头部加上request.setCharacterEncoding(“UTF-8″);第二种最保险,一劳永逸,是专门写一个过滤器类,也称国际化,类名为...
定义一过滤器,实现Filtter接口 public class EncodingFilter implements Filter { @Override public void destroy() { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest req,...
主要内容包括web应用程序运行原理、主流集成开发工具(eclipse/myeclipse)和运行环境(tomcat)的配置和使用、servlet、jsp、jdbc、jsp表达式语言(el)、servlet监听器和过滤器、定制标记库、jstl、mvc模式、dao...
主要内容包括web应用程序运行原理、主流集成开发工具(eclipse/myeclipse)和运行环境(tomcat)的配置和使用、servlet、jsp、jdbc、jsp表达式语言(el)、servlet监听器和过滤器、定制标记库、jstl、mvc模式、dao...
详解JSP中使用过滤器进行内容编码的解决办法 问题 当通过JSP页面,向数据库中插入记录的时候,可能因为JSP页面编码原因,导致插入到数据库中的新纪录出现乱码。因此需要对JSP页面中的内容进行编码操作,从而保证与...
JSP 开发中过滤器filter设置编码格式的实现方法 我们知道为了避免提交数据的乱码问题,需要在每次使用请求之前设置编码格式。在你复制粘贴了无数次request.setCharacterEncoding(“gb2312”);后,有没有想要一劳永逸...
jsp代码: import javax.servlet.*; import javax.servlet.http.*; public class CharsetFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest request, Servlet...
全书一共被压缩为5个rar,这是第二个!!!! 其他的请看ID:ljtt123(本人...21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...
全书一共被压缩为5个rar,这是第三个!!!! 其他的请看ID:ljtt123(本人...21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...
全书一共被压缩为5个rar,这是第四个!!!! 其他的请看ID:ljtt123(本人...21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...