大家都很清楚,在同一个java web项目中servlet之间、servlet与jsp页面之间、jsp页面之间传值大家都很熟悉。最近在做项目中需要将参数从一个项目的servlet中传递到另外一个项目的servlet中,其中还有中文,这改怎么解决哪。这就需要在源端将中文信息用URLEncoder编码,在目的端用URLDecoder解码,在URL后面加?的方式传递值时,服务器默认使用iso-8859-1编码,所以还需要先将接收过来的数据进行iso-8859-1转码。解释如下:
项目1中:
**//URL为另一个项目中的目标servlet
UserName="张三"
response.sendRedirect(URL+"&UserName="+URLEncoder.encode(UserName,"UTF-8"));
项目2中:
String Name=request.getParameter("UserName");
String UserName=URLDecoder.decode(new String(Name.getBytes("iso-8859-1"),"UTF-8"),"UTF-8");
经过以上处理,中文参数就可以顺利的从一个工程传递到另一个工程