jbuilder下运行tomcat5中文乱码过滤问题解决
来源:互联网 发布:twitter json格式 编辑:程序博客网 时间:2024/04/28 05:05
大家调试的时用的是jbuilder下的tomcat,jbuider 每次运行程序都自动生成server8080.xml,所以中文过滤器每次加载的时候都会出现有些中文字符不能过滤的问题.比如说:
1 表单提交的数据,用request.getParameter(“xxx”)返回的字符串为乱码或者??
2 直接通过url如http://localhost/a.jsp?name=中国,这样的get请求在服务端用request[/url]. getParameter(“name”)时返回的是乱码;按tomcat4的做法设置Filter也没有用或者用request.setCharacterEncoding("GBK");也不管用.
原因:
1 tomcat的j2ee实现对表单提交即post方式提示时处理参数采用缺省的iso-8859-1来处理
2 tomcat对get方式提交的请求对query-string 处理时采用了和post方法不一样的处理方式。(与tomcat4不一样,所以设置setCharacterEncoding(“gbk”))不起作用。
解决方法:用jdls公司的过滤器(),配置web.xml
但这样只能过滤通过do和jsp传来的中文.如果要过滤由<a href="">
或window.location.href(url); 传来的参数必须加上下面的过滤参数.
在web.xml加入
然后, 在你的工程下的/Tomcat/conf/server8080.xml(如果没有运行一下工程)下,去掉第二句话,
这句话就是那个以
扩起来的注释.我们可能不在意这句话,然而就是这句话决定你的过滤器是否起作用!删除这句注释,
然后在
就可以了.以后运行程序就不会动态生成 server8080.xml
执行如下jsp页页测试是否成功
测试结果如果你输入文本框或者点超链都会显示:你提交了”中国”,说明成功!!!!!
如果部署项目时,使用的是独立的tomcat,则只需tomcat/conf/server.xml中增加URIEncoding="GBK".
1 表单提交的数据,用request.getParameter(“xxx”)返回的字符串为乱码或者??
2 直接通过url如http://localhost/a.jsp?name=中国,这样的get请求在服务端用request[/url]. getParameter(“name”)时返回的是乱码;按tomcat4的做法设置Filter也没有用或者用request.setCharacterEncoding("GBK");也不管用.
原因:
1 tomcat的j2ee实现对表单提交即post方式提示时处理参数采用缺省的iso-8859-1来处理
2 tomcat对get方式提交的请求对query-string 处理时采用了和post方法不一样的处理方式。(与tomcat4不一样,所以设置setCharacterEncoding(“gbk”))不起作用。
解决方法:用jdls公司的过滤器(),配置web.xml
HTML 代码:
<filter> <filter-name>EncodingFilter</filter-name> <filter-class>cn.com.jdls.foundation.web.EncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping>
但这样只能过滤通过do和jsp传来的中文.如果要过滤由<a href="">
或window.location.href(url); 传来的参数必须加上下面的过滤参数.
在web.xml加入
HTML 代码:
<filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
然后, 在你的工程下的/Tomcat/conf/server8080.xml(如果没有运行一下工程)下,去掉第二句话,
这句话就是那个以
HTML 代码:
<!--???-->
然后在
HTML 代码:
<Connector ... URIEncoding=/"GBK/">
执行如下jsp页页测试是否成功
HTML 代码:
<%@ page contentType=/"text/html;charset=gb2312/"%><%@ page import=/"java.util.*/"%><% String q=request.getParameter(/"q/"); q = q == null? /"没有值/" : q;%><HTML><HEAD><TITLE>新闻列表显示</TITLE><META http-equiv=Content-Type content=/"text/html; charset=gb2312/"><META http-equiv=pragma content=no-cache><body>你提交了:<%=q%><form action=/"tcnchar.jsp/" method=/"post/"> 输入中文:<input type=/"text/" name=/"q/"><input type=/"submit/" value=/"确定/"> <a href=/"tcnchar.jsp?q=中国/">通过get方式提交</a></form></BODY></HTML>
如果部署项目时,使用的是独立的tomcat,则只需tomcat/conf/server.xml中增加URIEncoding="GBK".
- jbuilder下运行tomcat5中文乱码过滤问题解决
- jbuilder中文问题解决
- Jbuilder中文问题解决
- linux下中文乱码问题解决
- linux 下 中文乱码问题解决
- 配置FILTER过滤管道,解决乱码问题(在服务器下配置,及在JBUILDER下配置)
- ssh在Tomcat5下的中文乱码问题
- (转)tomcat5中文问题解决
- Tomcat5.5中文问题解决方案
- 在windows下的cmd中运行python的raw_input时中文乱码问题解决
- adb shell 命令下中文乱码问题解决
- ubuntu下netbeans 中文乱码问题解决
- Ubuntu下Mysql中文乱码问题解决方案
- adb shell 命令下中文乱码问题解决
- ubuntu下MySQL数据库中文乱码问题解决
- linux下中文乱码问题解决方案
- Windows下CMD中文乱码问题解决方法
- Ubuntu下MySQL中文乱码的问题解决
- sql解析步骤,硬解析和软解析
- 如何使用Javascript格式化数字显示
- .net面试题
- UltraEdit快捷键
- 常用的JavaScript验证正则表达式
- jbuilder下运行tomcat5中文乱码过滤问题解决
- 十二星座的买房心态
- 十大Ajax框架(排名不分先后)
- The Linux Kernel Module Programming Guide 2.4 中文版
- 什么是JsJava (支持jsjava)
- MySQL5错误 #1264 "Out of range value adjusted for column ..."
- Oracle获取前10条数据
- C#利用Web Service实现短信发送
- 荷兰风车 木鞋 郁金香