jdbc-----代理器,过滤器
来源:互联网 发布:云盘推荐 知乎 编辑:程序博客网 时间:2024/06/06 03:22
package cn.itcast.filter;
import java.io.IOException;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
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;
/**
* 所有的编码处理,统一在这里进行处理
* @author Administrator
*
*/
public class EncodingFilter implements Filter {
/**
* 处理公用的业务逻辑操作
*/
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter( ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
//转型
final HttpServletRequest req=(HttpServletRequest)request;
//处理公用业务
req.setCharacterEncoding("utf-8");//post提交有效
response.setContentType("text/html;charset=utf-8");
/**
* 创建代理对象
*/
HttpServletRequest proxy=(HttpServletRequest)Proxy.newProxyInstance(
request.getClass().getClassLoader(),//指定当前使用的类加载器
new Class[]{HttpServletRequest.class},//对目标对象实现的接口类型
new InvocationHandler(){
public Object invoke(Object Proxy, Method method, Object[] args)
throws Throwable {
//1.定义方法返回值
Object returnValue=null;
//2.获取方法名:
String name=method.getName();
//3.判断,对Parameter方法进行get提交处理
if("getParameter".equals(name)){
String methodSubmit=req.getMethod();
String value=req.getParameter(args[0].toString());
if("GET".equals(methodSubmit)){
if(value!=null&(!"".equals(value.trim()))){
value=new String(value.getBytes("ISO8859-1"),"utf-8");
}
}
return value;
}else{
returnValue=method.invoke(req, args);
}
return returnValue;
}
});
//放行,执行下一个过滤器或者servlet
chain.doFilter(proxy,response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
import java.io.IOException;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
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;
/**
* 所有的编码处理,统一在这里进行处理
* @author Administrator
*
*/
public class EncodingFilter implements Filter {
/**
* 处理公用的业务逻辑操作
*/
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter( ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
//转型
final HttpServletRequest req=(HttpServletRequest)request;
//处理公用业务
req.setCharacterEncoding("utf-8");//post提交有效
response.setContentType("text/html;charset=utf-8");
/**
* 创建代理对象
*/
HttpServletRequest proxy=(HttpServletRequest)Proxy.newProxyInstance(
request.getClass().getClassLoader(),//指定当前使用的类加载器
new Class[]{HttpServletRequest.class},//对目标对象实现的接口类型
new InvocationHandler(){
public Object invoke(Object Proxy, Method method, Object[] args)
throws Throwable {
//1.定义方法返回值
Object returnValue=null;
//2.获取方法名:
String name=method.getName();
//3.判断,对Parameter方法进行get提交处理
if("getParameter".equals(name)){
String methodSubmit=req.getMethod();
String value=req.getParameter(args[0].toString());
if("GET".equals(methodSubmit)){
if(value!=null&(!"".equals(value.trim()))){
value=new String(value.getBytes("ISO8859-1"),"utf-8");
}
}
return value;
}else{
returnValue=method.invoke(req, args);
}
return returnValue;
}
});
//放行,执行下一个过滤器或者servlet
chain.doFilter(proxy,response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
0 0
- jdbc-----代理器,过滤器
- 拦截器,过滤器,回调,反射,静态代理,JDK代理,Cjlib代理
- Spring之过滤器代理DelegatingFilterProxy
- /** JDBC事务代理工厂
- jdbc------连接池代理
- Spring MVC过滤器-委派过滤器代理(DelegatingFilterProxy)
- Spring MVC过滤器-委派过滤器代理(DelegatingFilterProxy)
- Spring MVC过滤器-委派过滤器代理(DelegatingFilterProxy)
- Spring MVC过滤器-委派过滤器代理(DelegatingFilterProxy)
- Spring MVC过滤器-委派过滤器代理(DelegatingFilterProxy)
- Spring MVC过滤器-委派过滤器代理(DelegatingFilterProxy)
- Spring MVC过滤器-委派过滤器代理(DelegatingFilterProxy)
- Spring MVC过滤器-委派过滤器代理(DelegatingFilterProxy)
- JavaWeb-19 (JDBC之过滤器Filter)
- spring jdbc 及代理模式
- Spring AOP、代理、JDBC支持
- 过滤器和动态代理解决乱码
- 代理模式和拦截过滤器模式
- Intellij IDEA 中文帮助手册: 1.2 安装和运行
- 机器学习中的范数规则化之(一)L0、L1与L2范数
- mkdir
- tomcat无法访问的解决方案
- 深入分析JavaWeb Item52 -- Spring注解Annotation
- jdbc-----代理器,过滤器
- RTC实时时钟
- PEP8 Python 编码规范整理
- dwr的异常处理
- 最短路径—Dijkstra算法和Floyd算法 http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html
- 单用户模式修改密码
- 判断某字符串中是否有某个元素
- Cocos2dx个人笔记之HelloworldScene
- 明明的随机数