用JSP写了一个用户登录的界面,在一个名为login.java的servlet中处理,可根据登录用户的不同级别,转向不同一页面。其中一段代码是这样写的:
if(position.equalsIgnoreCase("主管")){
RequestDispatcher rd = getServletContext().getRequestDispatcher("/a.jsp");
rd.forward(req,res);
}else if(position.equalsIgnoreCase("服务员")){
RequestDispatcher rd = getServletContext().getRequestDispatcher("/b.jsp");
rd.forward(req,res);
}
程序可以实现转向,但是无论是 a.jsp 还是 b.jsp 中的中文都是乱码,但如果直接在地址栏里敲.../a.jsp,页面就不是乱码,或者在servlet中用 sendredirect() , 一切就正常。
背景: 工作环境都是 gb2312,页面的属性设置伟gb2312, 字符编码格式也设置伟gb2312
Dispatcher.forward() 和 sendredirect()都可以跳到下张页面,除了一个能传request,一个不能,他们在编码格式上有什么不同否?
不知道是什么原因,怎么解决?
望指教。
if(position.equalsIgnoreCase("主管")){
RequestDispatcher rd = getServletContext().getRequestDispatcher("/a.jsp");
rd.forward(req,res);
}else if(position.equalsIgnoreCase("服务员")){
RequestDispatcher rd = getServletContext().getRequestDispatcher("/b.jsp");
rd.forward(req,res);
}
程序可以实现转向,但是无论是 a.jsp 还是 b.jsp 中的中文都是乱码,但如果直接在地址栏里敲.../a.jsp,页面就不是乱码,或者在servlet中用 sendredirect() , 一切就正常。
背景: 工作环境都是 gb2312,页面的属性设置伟gb2312, 字符编码格式也设置伟gb2312
Dispatcher.forward() 和 sendredirect()都可以跳到下张页面,除了一个能传request,一个不能,他们在编码格式上有什么不同否?
不知道是什么原因,怎么解决?
望指教。

本文描述了使用JSP实现用户登录时遇到的中文乱码问题,尤其是在使用RequestDispatcher.forward进行页面跳转时出现的问题。通过对比sendRedirect方法,探讨了两种跳转方式在编码上的区别。
347

被折叠的 条评论
为什么被折叠?



