• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

请求转发jsp页面乱码问题的快速解决方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

•在最近的项目中 使用了jsp+servlet来开发项目,但是由于后台的不太熟练 导致了困难重重。所幸 学习能力还可以 一边做一遍学吧。

•今天的问题:请求转发后页面的乱码问题

•由于特殊原因——图片上传的form表单无法通过ajax提交 因此必须使用form表单直接提交。但是这样会导致一个问题:前后台交互的时候效果不好。为什么效果不好?这里说的不是功能的问题。作为web开发者,客户的体验我们要放在第一位。因此,我们必须将对客户的信息反馈放在一个比较重要的地位。说白了,就是上传个图片成没成功?我发布的信息是否成功的上传了?如果你上传东西的时候网页没反应,或者直接就跳转到其他页面,他会以为可以了,但是实际上没有上传到服务器上,原因可能很多,比如说是我现在的网络不好,或者文件太大了,或者是你的文件不支持,但是这作为不懂代码的用户来说是很难理解的,他们会认为你的网站做的实在是太垃圾了。

•因此,我们才会费尽心思的去为客户去思考,把他们想知道的信息传达给他们。

•理所当然,ajax很实用,但是在文件流的情况下是无法通过ajax上传数据的。

•于是 request.getRequestDispacher('url').forward请求转发和重定向派上了用场。而重定向是无法共享数据的,因此只能使用请求转发。

•在此,文件为uploadServlet和user.jsp页面。当上传购物的信息时候,我所有信息已经插入到后台,需要为用户返回信息说,你成功了。那么传统的方式,request.setAttribute()很实用,在jsp页面上用request获取值判断是否成功就可以了。

•但是 转发回来之后 页面乱码了。。。

•经多方查找资料,终于找到解决方案;

•过滤器 配置成过滤所有的文件。

•现粘贴如下:

package com.java.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 EncodingFilter implements Filter
{

 public void destroy()
 {
 // TODO Auto-generated method stub

 }

 public void doFilter(ServletRequest req, ServletResponse resp,
  FilterChain chain) throws IOException, ServletException
 {
  HttpServletRequest request = (HttpServletRequest) req;
  HttpServletResponse response = (HttpServletResponse) resp;
  request.setCharacterEncoding("utf-8");
  response.setCharacterEncoding("utf-8");
  response.setContentType("text/html;charset=UTF-8");
  chain.doFilter(request, response);
 }

 public void init(FilterConfig arg0) throws ServletException
 {
 // TODO Auto-generated method stub

 }
}

•web.xml配置:

<filter>
  <filter-name>EncodingFilter</filter-name>
  <filter-class>com.java.Filter.EncodingFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>EncodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

以上这篇请求转发jsp页面乱码问题的快速解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持极客世界。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
JSP+MySQL实现网站的登录与注册小案例发布时间:2022-02-05
下一篇:
jsp获得本地及serverIP的简单方法发布时间:2022-02-05
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap