Acegi中文登录帐号的问题

在项目中以前一直用英文的登录帐号,但目前客户忽然提出一个问题,要求使用职工的中文姓名作为登陆帐号,但发现用中文作为登陆帐号系统会报异常,即使用了GBK作为字符集也不行,用acegi的代码进行调试,发现异常是在org.acegisecurity.util.FilterChainProxy类中抛出的,具体是在此类的子类VirtualFilterChain中下面的一句抛出异常 private VirtualFilterChain() {} public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { …… fi.getChain().doFilter(request, response);//如果acegi登陆页面输入了中文帐号,则此句抛出异常!fi.getChain()的类是org.apache.catalina.core.ApplicationFilterChain,运行这个doFilter后台抛出下面的异常信息: org.apache.jasper.JasperException: 张三 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper .java:372) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2 92) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:173) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(U nknown Source) acegi相关类抛出的异常主要是由于在ApplicationFilterChain抛出异常后的关联异常,acegi中从页面中取到的登录用户名在后台输出时显示正常,没有显示乱码,但为什么中文登录帐号会有问题?JspServletWrapper.java和ApplicationFilterChain.java到底做了什么处理?希望能有高手给予指点,谢谢!我本人的邮箱是[email protected],或者在blog直接回帖,谢谢大家!

你可能感兴趣的:(java,apache,servlet,Blog,Acegi)