我在web.xml中配置了404错误的错误页面nopage.jsp,这个页面含有如下代码:
<%@ page contentType="text/html; charset=UTF-8" language="java" isErrorPage="true"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
在正常的404错误发生时会正常显示这个jsp页面,无乱码
然后写了个过滤器,将所有*.jsp请求的URL都转换为*.error,防止*.jsp页面被直接访问,forward之后肯定会因为找不到*.error文件自动导向nopage.jsp页面,但这时问题来了,nopage.jsp中的汉字都变成了问号乱码,我想问题应该是在过滤器中,我试过不少方式还是没找到解决办法,请指教!

解决方案 »

  1.   

    我既不能将所有的jsp页面放到WEB-INF目录下去,又要避免用户直接访问JPS页面,不采用过滤器的方式,我如何进行?
      

  2.   

    主贴里nopage.jsp的说明贴错了代码行,应该是还包含了如下代码的:
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      

  3.   

    路过....
    然后写了个过滤器,将所有*.jsp请求的URL都转换为*.error
    直接forword到nppage.jsp不就可以了吗 为什么还用中间一步*.error
      

  4.   

    这么做的目的是为了通用化,把nopage.jsp固化到Java类中是不可取的,我现在将nopage.jsp作为过滤器的初始化参数传进去,直接forward的了,算是勉强解决这个问题,但是仍然需要在web.xml中配置2处nopage.jsp,如果只需要配置一处是最理想的
      

  5.   

    过滤器设置的编码和页面、数据库的编码都一样吗?
    request.setCharacterEncoding("utf-8");