标签:
servlet分为三类:
& 普通的servlet
&过滤器servlet
&监听器servlet
过滤器:
实现的接口:javax.servletFilter
该接口的三个方法:
No. | 方法 | 类型 | 描述 |
1 |
public void init(FilterConfig filterConfig) throws ServletException |
普通 | 过滤器初始化(容器启动时初始化)时调用,可以通过FilterConfig取得配置的初始化参数 |
2 |
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws IOException,ServletException |
普通 | 完成具体的过滤操作,然后通过FilterChain让请求继续向下传递 |
3 | public void destory() | 普通 | 过滤器销毁时使用 |
在上表中有FilterChain接口,该接口最主要的方法是:
No. | 方法 | 类型 | 描述 |
1 |
public void doFilter(ServletRequest request,ServletResponse response) throws IOException,ServletException |
普通 | 将请求向下继续传递 |
该方法实现了向下一个过滤器的跳转或者servlet的跳转
例子:过滤器编码
下面是一个jsp表单页面输入文本信息后跳转到另外一个页面打印出来,如果不加入Filter的话会出现打印页面乱码,当然可以在页面设置:request.setcharacerEncoding("utf-8");来解决页面乱码。
表单页面:index.jsp
<%@page contentType="text/html"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form name="form1" action=“result.jsp” method="post">
输入信息:<input name="input" type="text">
<input type="submit" value="提交">
</form>
</body>
</html>
打印结果页面:result.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page </title>
</head>
<body>
<%
String str=request.getParameter("input");
%>
<%=str%>
</body>
</html>
标签:
原文地址:http://www.cnblogs.com/victor963/p/4427928.html