2005年10月12日 星期三

mac osx server tomcat+apache的JSP环境配置备忘

Mac osx server 10.3.9版本内置了Tomcat4.0 Jboss3.2 Mysql 4.0.18 apache1.3/apache2.0。
配合apache的mod_jk模块,可以做到apache和tomcat的无缝集成。
tomcat的安装路径应该在/Library/Tomcat下面。配置根目录下的server.xml文件。在
Tomcat-Standalone的service下面增加一个虚拟主机的设定。


[Host name="你的域名" debug="0" appBase="jsp应用路径" unpackWARs="true"]
[Context path="" docBase="jsp文件路径(可以同上)" debug="0" reloadable="true"]
[Logger className="org.apache.catalina.logger.FileLogger"
prefix="yourHost_log." suffix=".txt"
timestamp="true"/]
[/Context]
[/Host]
把[]换成"< >"

可以用这个方法增加多组的虚拟域。
在apache中开启mod_jk模块
编辑/etc/httpd/httpd.conf,去掉关于mod_jk的loadModule 和 addModule前面的注释即可。
另外检查下httpd.conf中的如下代码。

[IfModule mod_jk.c]
JKWorkersFile /etc/httpd/workers.properties
JKLogFile /var/log/httpd/mod_jk.log
JKLogLevel error
JKMount /*.jsp JBoss1
JKMount /servlet/* JBoss1
JKMount /examples/* JBoss1
[/IfModule]

JKMount /examples/* JBoss1这条可以删除不需要。/etc/httpd/workers.properties文件可以不作任何改动。

然后到tomcat的bin目录下 ./shutdown后重新./startup ,再apachectl graceful restart 重新启动apache一次即可。

如果连接mysql数据库的话,在WEB-INF的lib放上你的java connector的jar包。写一个测试文件。


[%@ page contentType="text/html;charset=gb2312"%]
[%@ page import="java.sql.*"%]
[html]
[body]
[%
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/ yourDB?user=帐号&password=密码&useUnicode=true&characterEncoding=GB2312" ;
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
String query="select 字段 from 表";
ResultSet rs=stmt.executeQuery(query);
while(rs.next())
{
String s=rs.getString("字段");
out.print(s+"[br]");
}
%]
[/body]
[/html]

如果成功且数据无乱码即可。characterEncoding可以设置为你需要的编码。如果数据配置文件是放在xml文件的话,注意连接参数一定要加上useUnicode=true&characterEncoding=GB2312。然后重新启动tomcat和apache。估计如果用UTF-8编码的话,会省去很多乱码问题的困扰。现在看来这整个过程似乎很简单,不过我却折腾了两天才完全搞定,惭愧啊。
PS:感谢庄表伟的指点。再次谢过。

[technorati relative tag]

[相关内容]

由 tristones 发表于 2005年10月12日 下午03時59分

留言