过滤器接口与实现字符编码过滤器实…
来源:互联网 发布:苹果mac安装搜狗输入法 编辑:程序博客网 时间:2024/06/06 19:37
[1]过滤器的原理
[2]过滤链
[3]Filter接口
*public void init(FilterConfig filterConfig)throwsServletException//过滤器初始化方法,此方法在过滤器初始化时被调用
*public void doilter(ServletRequest request , ServletResponseresponse,FilterChain chain)throws IOException,ServletException//对请求进行过滤 处理
*public void destroy();//销毁方法,以便释放资源
[4]FilterConfig接口
*public Strng getFilterName();//用于获取过滤器的名字
*public ServletContext getServletContent();//获取Servlet上下文
*public String getInitParameter(String name);//获取过滤器的初始化参数值
*public Enumeration getInitParameterNames();//获取过滤器的所有初始化参数
[5]FilterChain接口
public void doFilter(ServletRequest request request,ServletResponse response)throws IOException , ServletException
[6]过滤器的配置
CharactorFilter com.lyq.CharactorFilter encoding UTF-8 CharactorFilter /*
[7]实现字符乱码过滤器处理实例
JSP文件
- <</SPAN>body>
-
action="AddServlet" method="post"> -
align="center" border="1" width="350"> -
-
class="2" align="center" colspan="2"> -
-
-
-
-
align="right">图书编号:</</SPAN>td> -
-
type="text" name="id"> -
-
-
-
align="right">图书名称:</</SPAN>td> -
-
type="text" name="name"> -
-
-
-
align="right">作 者:</</SPAN>td> -
-
type="text" name="author"> -
-
-
-
align="right">价 格:</</SPAN>td> -
-
type="text" name="price"> -
-
-
-
class="2" align="center" colspan="2"> -
type="submit" value="添 加"> -
-
-
- </</SPAN>form>
-
</</SPAN>body>
添加图书信息
图书编号:图书名称:作 者:价 格:
servlet文件
- public
void doPost(HttpServletRequest request, HttpServletResponse response) -
throws ServletException, IOException { -
request.setCharacterEncoding("utf-8"); -
response.setContentType("text/html; -
//获取PrintWriter -
PrintWriter = response.getWriter(); -
//获取图书编号 -
String = request.getParameter("id"); -
//获取图书名称 -
String -
//获取作者 -
String = request.getParameter("author"); -
//获取价格 -
String request.getParameter("price"); -
//添加成功 -
out.print(" -
out.print("图书编号:"+id+" -
out.print("图书名称:"+name+" -
out.print(" 作者:"+author+" -
out.print("体格:"+price+" -
out.flush();//刷新流 -
out.close();//关闭流 -
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); //获取PrintWriter PrintWriter out = response.getWriter(); //获取图书编号 String id = request.getParameter("id"); //获取图书名称 String name=request.getParameter("name"); //获取作者 String author =request.getParameter("author"); //获取价格 String price= request.getParameter("price"); //添加成功 out.print("
图书信息添加成功
"); out.print("图书编号:"+id+"
"); out.print("图书名称:"+name+"
"); out.print(" 作者:"+author+"
"); out.print("体格:"+price+"
"); out.flush();//刷新流 out.close();//关闭流 }
过滤器文件
- package
com.lyq; - 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 CharactorFilter implements Filter { -
// 字符编码 -
String = null; -
public void destroy() { -
= null; -
} -
public void doFilter(ServletRequest request, ServletResponse response, -
FilterChain chain) throws IOException, ServletException { -
// 判断字符编码是否为空 -
if(encoding != null){ -
// 设置request的编码格式 -
request.setCharacterEncoding(encoding); -
// 设置response字符编码 -
response.setContentType("text/html; -
} -
// 传递给下一过滤器 -
chain.doFilter(request, response); -
} -
public void init(FilterConfig filterConfig) throws ServletException { -
// 获取初始化参数 -
= filterConfig.getInitParameter("encoding"); -
} - }
package com.lyq;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 CharactorFilter implements Filter { // 字符编码 String encoding = null; public void destroy() { encoding = null; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // 判断字符编码是否为空 if(encoding != null){ // 设置request的编码格式 request.setCharacterEncoding(encoding); // 设置response字符编码 response.setContentType("text/html; charset="+encoding); } // 传递给下一过滤器 chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { // 获取初始化参数 encoding = filterConfig.getInitParameter("encoding"); }}
web配置文件
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
is </</SPAN>description>the description of my J2EE component -
is </</SPAN>display-name>the display name of my J2EE component -
-
-
-
-
-
-
-
-
-
-
- 过滤器接口与实现字符编码过滤器实…
- 过滤器接口与实现字符编码过滤器实例
- 过滤器接口与实现字符编码过滤器实例
- Servlet实现字符编码过滤器
- 利用过滤器实现字符编码的控制
- jsp字符编码过滤器的实现
- CharacterEncodingFilter 字符编码过滤器
- Servlet字符编码过滤器
- 字符编码的过滤器
- 自定义字符编码过滤器
- jsp字符编码过滤器
- Filter字符编码过滤器
- javaWEB字符编码过滤器
- 字符编码过滤器
- Filter字符编码过滤器
- getCharacterEncoding与编码过滤器
- 设置spring字符编码过滤器
- 设置spring字符编码过滤器
- 一位学软件工程的学生对软件行业的…
- 作为软件工程师,你必须知道的20个…
- 通俗易懂的数据库设计三大范式
- 如何写出高性能SQL语句
- 设计师的配色理论:你真懂这些色彩…
- 过滤器接口与实现字符编码过滤器实…
- Servlet中的两种跳转方法:
- java Android SDK安装与…
- 指针传递内存的做法
- 程序员面试什么最重要?
- 分治算法
- 属性服务接口与使用
- vc中Error spawning cl.…
- [转]Windows下自由创建.htaccess文…