栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

在一个javaWeb项目中加入一个字符编码过滤器

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在一个javaWeb项目中加入一个字符编码过滤器

步骤

准备过程:

(1)整改控制器的URL,加上.do后缀

(2)修改所有jsp中牵涉到控制器URL,加上.do后缀 

(3)测试一下

字符编码的过滤器

package com.njwbhz.mood.filter;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class CharacterEncodingFilter implements Filter {
   //采用配置
   private String encoding;
   @Override
   public void init ( FilterConfig filterConfig ) throws ServletException {
      //初始化的时候获取编码方式
      this.encoding = filterConfig.getInitParameter ( "encoding" );
   }
   @Override
   public void doFilter ( ServletRequest servletRequest , ServletResponse servletResponse , FilterChain filterChain ) throws IOException, ServletException {
      //过滤器的业务逻辑——>有时会说拦截器的业务逻辑
      HttpServletRequest request = ( HttpServletRequest ) servletRequest;
      HttpServletResponse response = ( HttpServletResponse ) servletResponse;
      //获取请求方式
      String method = request.getMethod ( );
      if ( method.equalsIgnoreCase ( "POST" ) ) {
         //设置编码
         request.setCharacterEncoding ( encoding );
      }
      //放行
      filterChain.doFilter ( request , response );
   }
   @Override
   public void destroy ( ) {
   }
}

Web.xml中配置过滤器


   characterEncodingFilter
   com.njwbhz.mood.filter.CharacterEncodingFilter
  
      encoding
      UTF-8
  



   characterEncodingFilter
   *.do

删除注册、发布心情、修改心情Servlet中的设置编码删掉,让过滤器做事

测试,上述三个功能是否有乱码

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/966996.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号