首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

关于从servlet跳转到jsp页面出现“?”的有关问题

2012-12-15 
关于从servlet跳转到jsp页面出现“?”的问题各位大哥大姐。。。。小弟在做项目时遇到了一个情况。。。jsp页面出现乱

关于从servlet跳转到jsp页面出现“?”的问题
各位大哥大姐。。。。小弟在做项目时遇到了一个情况。。。jsp页面出现乱码“?”。只是。。这次有点奇怪。。。jsp页面第一次显示时没有出现乱码。。但是,小弟传了一个参数到servlet页面在跳转到原来的同一个页面时。却全部都是乱码。。请问大家该怎么解决??万分着急。。。就要答辩了。。请各位帮帮忙吧。。谢谢!!!!

servlet代码:
        public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
        request.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
String Mes=new String(request.getParameter("Mes"));
request.setAttribute("Mes",Mes);
request.getRequestDispatcher("Messages.jsp").forward(request,response);
}

[最优解释]
说的不清楚,请用A,B,C表示
[其他解释]
各位大哥大姐。。。。小弟在做项目时遇到了一个情况。。。jsp页面出现乱码“?”。只是。。这次有点奇怪。。。jsp页面A第一次显示时没有出现乱码。。但是,小弟传了一个参数到servlet页面,然后再从servlet页面跳转到jsp页面A时。却全部都是乱码。。请问大家该怎么解决??万分着急。。。就要答辩了。。请各位帮帮忙吧。。谢谢!!!!

servlet代码:
  public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
  request.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
String Mes=new String(request.getParameter("Mes"));
request.setAttribute("Mes",Mes);
request.getRequestDispatcher("Messages.jsp").forward(request,response);
}
这下子清楚了吧。。各位大哥。。急等。。。。谢谢。。
[其他解释]
response.setContentType("text/html;charset=gb2312");
设置的编码和页面的编码一致么?
[其他解释]
写一个过滤器把所有的乱码全不解决掉,就OK了,不会再有乱码问题去打扰你了
[其他解释]
写不出来加我Q296222242
[其他解释]
恩,就是写一个filter,一切OK
[其他解释]
确认下编码是否都一致,不行的话加过滤器吧
[其他解释]
是在servlet跳转的时候出现的乱码,那么可能涉及到你的web容器里面的编码格式!是tomcat还是什么?

当然,最通用的解决办法是写一个filter进行编码过滤!这东西网上很多!
[其他解释]
這個問題我也遇到過.
就是因為servlet与页面的编码不一致造成的.
LZ把编码都一致了就能解决相应问题.
其实最好还是写个过滤器.这样能一劳永逸
[其他解释]
  容器中和页面的编码不一致造成的、 在页面用别的编码试试、例如:GBK
[其他解释]
写filter,最好。

[其他解释]
右击你的工程名,选择最后一个,Resource第一个,把Text File Encoding 里的Other换成UTF-8
[其他解释]
jsp页面的编码是什么? jsp文件本身的编码呢? 你穿的什么数据?自己做过encode么? 是不是从数据库里面读取的数据? 如果是读出来的在控制台打印是不是乱码? 
你的jdk的file.encoding是什么? 用什么什么服务器? 服务器的编码是什么?
用ff的httpfox看下http头里面的编码是什么

楼上的 过滤器虽然能解决很多问题,但不能解决所有问题,
[其他解释]
把【空间】的编码和【页面及后台处理】编码都整一样的,在页面设置下encode,这样就可以避免很多不必要的麻烦,我也撞见不少,费老大的劲
[其他解释]
post方式:filter
get方式:server.xml
------其他解决方案--------------------


引用:
response.setContentType("text/html;charset=gb2312");
设置的编码和页面的编码一致么?
+1
[其他解释]
你把String Mes=new String(request.getParameter("Mes"));
改为String Mes=new String(request.getParameter("Mes").getBytes("你页面中的编码格式"));
试试


[其他解释]
  写个filter吧。是页面上可能是UTF-8
 建议你全部设置成UTF-8
[其他解释]
如果他们说的仍然不能解决问题的话可以在jsp页面中用这个
<%
  String key=new String(request.getParameter("key").getBytes("ISO-8859-1"),"gb2312"); %>
关于那个response.setCharacterEncoding("gb2312");在 过滤器中是起作用的。在页面调用不行。

另外欢迎加入我的java交流群(都是入门人才):73419082。
[其他解释]
估计是servlet传到页面的时候出乱码的  你先统一下servlet跟jsp的编码  最好在servlet传值的时候能够编码下 这样乱码应该能解决
[其他解释]
servlet 编码和 页面编码一样的么?
[其他解释]
写一个过滤器,设置统一的编码
[其他解释]
页面编码与servlet设置的响应编码不符
[其他解释]
你的页面编码也得要是gb2312
[其他解释]
写个过滤器,一切OK。
[其他解释]
你传的参数是不是中文的 试试UTF-8

[其他解释]
UTF-8试试

热点排行