过滤器

来源:互联网 发布:云浩软件企汇通 编辑:程序博客网 时间:2024/04/30 02:33

         今天我们来说一下用以前多的老问题post与get方法解决中文乱码问题与页面缓存问题,不过今天我们用到了个新的知识-----过滤器。

Post中文乱码问题

/////////////////////////filter层////////////////////////////////

package cn.class3g.web.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 LuanMaFilter implements Filter{private String bianma = null;public void init(FilterConfig filterConfig) throws ServletException {bianma = filterConfig.getInitParameter("bianma");}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {request.setCharacterEncoding(bianma);response.setContentType("text/html;charset="+bianma);chain.doFilter(request, response);}public void destroy() {}}


 

/////////////////////////dervlet层////////////////////////////////

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String city = request.getParameter("city");PrintWriter out = response.getWriter();out.write(city);}


 

//////////////////web.xml/////////////////////

<filter>  <filter-name>LuanMaFilter</filter-name>  <filter-class>cn.class3g.web.filter.LuanMaFilter</filter-class>  <init-param>  <param-name>bianma</param-name>  <param-value>utf-8</param-value>  </init-param>  </filter>  <filter-mapping>  <filter-name>LuanMaFilter</filter-name>  <url-pattern>*</url-pattern>  </filter-mapping>


 

Get中文乱码问题

String city1 = request.getParameter("city1");PrintWriter out = response.getWriter();out.write(new String(city1.getBytes("ISO-8859-1"), "UTF-8"));


 

页面缓存问题

package cn.class3g.web.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.HttpServletResponse;public class NoCacheFilter implements Filter{public void init(FilterConfig filterConfig) throws ServletException {// TODO Auto-generated method stub}public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {// TODO Auto-generated method stubHttpServletRequest request = (HttpServletRequest) req;HttpServletResponse response =  (HttpServletResponse) res;response.setDateHeader("expires",-1);response.setHeader("Cache-Control","no-cache");response.setHeader("Pragma","no-cache");chain.doFilter(request, response);}public void destroy() {// TODO Auto-generated method stub}}


 

 

 

 

原创粉丝点击