提条件,每个页面使用
<%@ page contenttype="text/html; charset=gbk" language="java" import="java.sql.*" errorpage="" %>
<meta http-equiv="content-type" content="text/html; charset=gbk">
地球人都知道的东西。
步骤1:添加过滤器
在tomcat中找到这2个文件requestdumperfilter.java,setcharacterencodingfilter.java,他们位于d:\tomcat5.0.27\webapps\jsp-examples\web-inf\classes\filters,加到你的工程文件里去,编译他们。
步骤2:配置web.xml
在web.xml里加入这一段
……
<filter>
<filter-name>set character encoding</filter-name>
<filter-class>filters.setcharacterencodingfilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>set character encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
……
看到没有?这样你就不用写那些麻烦的转换代码了,当然这样还不足以解决问题。
步骤3:修改server.xml
在server.xml修改2个地方
<connector port="8080"
maxthreads="150" minsparethreads="25" maxsparethreads="75"
enablelookups="false" redirectport="8443" acceptcount="100"
debug="0" connectiontimeout="20000"
disableuploadtimeout="true" uriencoding='gbk'/>
<connector classname="org.apache.coyote.tomcat5.coyoteconnector"
port="8009" minprocessors="5" maxprocessors="75"
enablelookups="true" redirectport="8443"
acceptcount="10" debug="0" connectiontimeout="0"
useurivalidationhack="false" protocol="ajp/1.3"
protocolhandlerclassname="org.apache.jk.server.jkcoyotehandler"
uriencoding='gbk'/>
ok,搞定!
三、apache和tomcat他们俩关系非同一般
apache和tomcat都是很优秀的软件,更可贵的是它们是免费的。其实他们2个都是jakarta项目的重要组成部分。按辈分来讲,tomcat是apache的儿子,apache的专长是解析静态文件,cgi,php……图片……,儿子当然不能抢了老爹的饭碗,所以tomcat只有在j2ee这个上面发愤图强,其实tomcat并非不能干他老爹的活,只是稳定性差点而已(偶没有明显的感觉,可能是商业炒作吧),现在大家明白为什么把他们2个扯一起了吧,上阵还靠父子兵呢~
把2个家伙整一起有大致有2种方法,一种是利用mod_jk2.so,一种是利用mod_jk_1.2.5_2.0.47.dll。这2个东东叫联接器(tomcat就是通过这家伙与apache勾搭上的)
1、 利用mod_jk_1.2.5_2.0.47.dll在windows下整合
步骤1:准备材料
apache2.0.52
http://apache.te8.com/dist/httpd/binaries/win32/apache_2.0.52-win32-x86-no_ssl.msi
tomcat5.0.27
http://apache.linuxforum.net/dist/jakarta/tomcat-5/v5.0.19/bin/jakarta-tomcat-5.0.27.exe
jdk(这个不用说了吧^_^)
mod_jk_1.2.5_2.0.47.dll(关键是这个东东啊,找了我n久),据说在下面连接可以下到,最后在我同事那找到的。
http://apache.linuxforum.net/dist/jakarta/tomcat-connectors/jk/binaries/win32/mod_jk_1.2.5_2.0.47.dll
安装apache\ tomcat\jdk。
步骤2:安装后设置环境变量
设置我的电脑\属性\高级\环境变量\新建系统变量 变量名:java_home 变量值:c:\jbuilderx\jdk1.4 (指向jdk的实际安装路径);tomcat_hmom 变量值:tomcat5.0.27;lasspath 编辑变量值中加上 ……;%java_home%\bin;%java_home%\lib;%tomcat_home%\bin;.;
测试一下,访问http://localhost和http://localhost:8080,默认安装是不会有什么错误的^_^
把连接器mod_jk_1.2.5_2.0.47.dll copy到d:\apache2\modules\下。
步骤3:apache配置
在d:\apache2\conf下找到httpd.conf,找到directoryindex,在index.html后添加index.jsp;查找“listen”用于本机测试时:listen 127.0.0.1:80,我的是这样设置的listen *:80
查找adddefaultcharset设置为adddefaultcharset off,这样apache将以你页面定义的字符集解析页面。
在最后添加如下代码:
<virtualhost *:80> #localhost为本机,你可用本机ip
serveradmin darkxie@hotmail.com #你的mail地址
documentroot f:/uutang/uutang #你的项目组根目录
servername dark #你的服务名,若你的机器有域名,设为域名
errorlog logs/errorlog.txt #错误日志
customlog logs/customlog.txt common #访问日志
jkmount /servlet/* ajp13 #让apache支持对servlet传送,用以tomcat解析
jkmount /*.jsp ajp13 #让apache支持对jsp传送,用以tomcat解析
jkmount /*.do ajp13 #让apache支持对struts的action传送,用以tomcat解析
</virtualhost>
loadmodule jk_module modules/mod_jk_1.2.5_2.0.47.dll
jkworkersfile "d:/tomcat5.0.27/conf/workers.properties"
jklogfile "d:/tomcat5.0.27/logs/mod_jk2.log"
jkloglevel info
步骤4:tomcat配置
在d:\tomcat5\conf下新建一个workers.properties文件 .内容如下: