当前位置: 首页 > news >正文

中国镇江网站wordpress 前台不显示

中国镇江网站,wordpress 前台不显示,凡科,不愁销路的小型加工厂项目年入百万处理SpringMVC中乱码问题 处理原生Servlet中请求和响应的乱码问题,参考文章 Servlet中的过滤器的实现及其原理,参考文章 配置CharacterEncodingFilter 在Servlet规范中要求request和response对象设置编码之前不能有获取请求参数和响应数据的操作,否则后续设置的编码都将不起…

处理SpringMVC中乱码问题

处理原生Servlet中请求和响应的乱码问题,参考文章

Servlet中的过滤器的实现及其原理,参考文章

配置CharacterEncodingFilter

在Servlet规范中要求request和response对象设置编码之前不能有获取请求参数和响应数据的操作,否则后续设置的编码都将不起作用

  • 但是DispatcherServlet给控制器方法注入request时一定是已经获取了所有的请求参数,否则我们不能直接在控制器方法上声明形参获取请求参数的值

在web.xml中注册SpringMVC提供的编码过滤器CharacterEncodingFilter, 要想在DispatcherServlet获取参数前设置编码必须在其他过滤器之前配置它否则无效

  • 使用init-param初始化参数标签设置encoding属性的值指定POST请求的编码格式,如UTF-8
  • 使用init-param初始化参数标签设置forceEncoding属性的值指定响应的编码格式,true表示响应和请求的编码格式一致,fasle表示默认编码格式
<!--配置一个字符编码的Filter,一定注意字符编码filter一般都在其他Filter之前-->
<filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!--设置encoding属性的值解决POST请求乱码--><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><!--设置forceEncoding属性的值解决响应乱码--><param-name>forceEncoding</param-name>	<param-value>true</param-value></init-param>
</filter>
<filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern>
</filter-mapping>

CharacterEncodingFilter继承的OncePerRuquestFilter重写了doFilter(request,response,filter)并调用doFilterInternal(request,response,filter)方法执行过滤

// CharacterEncodingFilter的构造方法
public CharacterEncodingFilter(String encoding, boolean forceEncoding) {// encoding属性的值是我们在配置文件中设置的编码格式// forceEncoding属性的值就是我们在配置文件中设置的布尔值truethis(encoding,forceEncoding,forceEncoding);
}public CharacterEncodingFilter(string encoding, boolean forceRequestEncoding, boolean forceResponseEncoding){Assert.hasLength(encoding,"Encoding must not be empty");this.encoding = encoding;this.forceRequestEncoding = forceRequestEncoding;this.forceResponseEncoding = forceResponseEncoding;
}// OncePerRuquestFilter重写了doFilter(request,response,filter)
@override
public final void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)throws servletException, IOException {//.............// 满足条件放行filterChain.doFilter(request,response);// 不满足条件执行过滤规则doFilterInternal(httprequest,httpresponse,filterChain);
}// CharacterEncodingFilter重写的doFilterInternal方法
protected void doFilterInternal(HttpservletRequest request, HttpservletResponse response, FilterChain filtel)throws ServletExceptionIOException {string encoding = getEncoding(); // 判断我们在是否在web.xml文件中设置了编码格式if (encoding != null) {// 如果设置了编码格式,并且forceRequestEncoding的属性值为true或request对象之前没有设置过编码(确实没有设置过),此时就可以设置请求的编码if (isForceRequestEncoding() || request.getcharacterEncoding() == null){// 设置请求的编码request.setCharacterEncoding(encoding);}// 如果设置了编码格式,并且forceResponseEncoding属性值为true,此时就可以设置响应的编码if (isForceResponseEncoding()){response.setcharacterEncoding(encoding);}}// 放行filterchain.dofilter(reauest. response);
}
http://www.yayakq.cn/news/800626/

相关文章:

  • 高端网站建设那公司好免费1级做看网站
  • 最低价做网站百度一下网页搜索
  • 现在哪个网站做电商好wordpress 画线不显示
  • 梧州网站设计制作服务至上网站建设都用哪些软件
  • 建立网站做淘客网页毕业设计作品
  • 枣庄机关建设网站wordpress免费商业主题
  • 网站开发能自学吗农产品交易平台
  • 哪些公司经常做网站网页设计尺寸要缩进多少
  • 建筑网站可以ai绘画吗做网站必须购买空间吗
  • 哪个网站可以做鸟瞰图无锡装修网站
  • 宣传片设计制作公司广州优化网站建设
  • 开发电子商务网站和开发新闻类网站什么异同服装网站建设费用分析
  • 外贸网站优化免费渠道陕西专业网站建设哪家好
  • 男生做男生网站在那看网络媒体
  • 简述电子商务网站建设的基本要求6网页模板的扩展名
  • asp.net 4.0网站开发个人网站的成本
  • 校园类网站模板网站怎么增加关键词库
  • 网站建设龙岗可以做动漫的网站
  • 专门网站建设网站开发培训培训班
  • 萝岗公司网站建设备案用的网站建设规划书怎么写
  • 网络广告创意深圳网站建设优化推广公司
  • 池州网站建设全包网站后台排版布局
  • 网络网站推广哪些网站可以做花店推广
  • 怎样做网站关键字郑州网站建设哪个好
  • 开发一个网上商城多少钱东莞整站优化排名
  • 化妆培训网站 源码为什么要进行电子商务网站规划
  • 大型网站建设定制开发电脑网站打不开了但是有网
  • 柳城网站设计建设一个网站需要哪些软硬件条件
  • 微网站开发平台 开源网站开发主框架一般用什么布局
  • 怎样在凡科网站做网页滕州市做淘宝网站的