用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,一个不能,他们在编码格式上有什么不同否?
不知道是什么原因,怎么解决?
望指教。