TOMCAT不得不说的二三事[3]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 lycoo 的 blog

提条件,每个页面使用

<%@ 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文件 .内容如下:

本文关键:TOMCAT不得不说的二三事
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top