JSP页面之前传递中文,为啥不能正确显示??

南角影 2005-07-28 04:10:53
服务器用的是TOMCAT
页面1 forward.jsp
....
<jsp:forward page="test.jsp">
<jsp:param name="user" value="我们的祖国"/>
</jsp:forward>
....
页面2 test.jsp
...
<%=request.getParameter("user")%>
...
浏览器中访问127.0.0.1/forward.jsp 输出的却是一串乱码 ,为什么啊

后来,我怀疑是元素forward的问题,改用下面的 form.jsp
...
<form action="test.jsp" method="get">
<input name="user" type="text" id="user"><br>
<input type="submit" name="Submit" value="提交">
</form>
...

最后的结果依然是乱码,为啥用IIS和ASP、NET没有这个问题,到这里用TOMCAT却这样了哩?
...全文
111 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yophoo 2005-08-03
  • 打赏
  • 举报
回复
1)更改tomcat的配置文件server.xml,在8080和8009两个服务器侦听端口的<Connector/>标签的末尾加上URIEncoding="UTF-8,这是为了解决HTTP服务器中POST方法和GET方法中参数的中文乱码问题。

2)其次,服务器端也应对Request和Response方法进行相应的码型转换,这个在tomcat中实现十分简单,因为随着tomcat4(servlet2.3中新增了Filter功能)的发行,有一个叫SetCharacterEncodingFilter的过滤器也出现了,只要将其(在tomcat/webapps/servlet-examples中就有该Filter)添加到你的WEB应用程序的classes或者lib目录下即可,然后就是设置你的应用程序的配置文件web.xml了:

<web-app>
…………

<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>

…………

<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

…………
</web-app>


4)服务器端的问题解决了,最后需要解决的就是网页自身的问题了,jsp网页中需要加入如下一行:

<%@ page contentType="text/html;charset=UTF-8"%>
南角影 2005-08-02
  • 打赏
  • 举报
回复
还是无人问津吗?
南角影 2005-08-01
  • 打赏
  • 举报
回复
自己顶!

5,657

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧