说明:下面操作基于Eclipse Galileo 和apache-tomcat-6.0.26.tar.gz
配置环境分两种情况,第一种是将war包丢到tomcat的webapp中部署,第二种是Eclipse使用tomcat的虚拟目录来运行工程。
首先说第一种:将war包丢到tomcat的webapp中部署
此情况又分两种,第一种是配置工程WebContent下META-INF中context.xml;第二种是配置tomcat中 /conf/Catalina/localhost下的[app_name].xml。
(一) 先说第一种情况:配置工程WebContent下META-INF中context.xml
ApplicationContext.xml
Spring的ApplicationContext.xml有如下注册数据库连接的内容
其中“jdbc/mysql_ssh”即为连接名。
context.xml
然后配置WebContent下META-INF中context.xml,如果没有,则新建,请注意文件名是context.xml,而不是 content.xml。该文件内容如下:
applicationContext.xml和context.xml中的数据库连接名要对应。然后可以将工程导成war放在tomcat webapp目录下部署了。
请记得在工程中放入mysql的jar包,此次测试中tomcat的lib目录下没有放置mysql的jar,放了也不报错。测试页面请见二.(三)。
如果启动的时候或测试页面报“Cannot create JDBC driver of class '' for connect URL 'null'”,请看context.xml文件名是否有误。
(二) 然后说明第一种情况下的第二个环境吧:配置tomcat中 /conf/Catalina/localhost下的[app_name].xml。
上述情况是配置WebContent下META-INF中context.xml,这次是将部署环境(工程运行时的目录)中的此文件剪切到tomcat 的conf/Catalina/localhost下,并将context.xml改成你的项目名,我的是ssh.xml。这样操作也可以配置好。测试页面请见二.(三)。
也可以将context.xml中的Resource追加到 tomcat conf中的context.xml中。感觉和在META-INF中context.xml原理是一样的。
第二种情况就是开发环境中的设置了:
(一 )工程的配置文件
web.xml
S2SH框架搭建完毕后,工程的web.xml有如下内容:
ApplicationContext.xml
Spring的ApplicationContext.xml有如下注册数据库连接的内容
其中“jdbc/mysql_ssh”即为连接名。
(二) tomcat中的配置文件
因为Eclipse不像MyEclipse那样会把编译后的文件拷贝到tomcat的webapp目录,所以不要动心思去改tomcat conf目录中的文件。
将Eclipse和tomcat关联后,可在Eclipse的 package Explorer中看到 “Servers”这个project。展开可以看到类似“Tomcat v6.0 Server at localhost-config”的文件夹。
双击打开里面的server.xml 。在
password="admin" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/ssh?autoReconnect=true" />
这个配置大家都能看懂,就不说了。
请注意工程中有mysql的jar包。我测试的时候tomcat 的lib下没有放置mysql的jar包。
还是这个server.xml 文件。
请找到
说明:docBase的值(ssh)会被Eclipse翻译成绝对路径并拷贝到tomcat所用的虚拟路径中。
(三) 测试页面
在WebContent中新建testdb.jsp 测试文件,内容如下:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ page import="java.io.*" %> <%@ page import="java.util.*" %> <%@ page import="java.sql.*" %> <%@ page import="javax.sql.*" %> <%@ page import="javax.naming.*" %>
"+col1+" | "+col2+" | "+col3+" | "+"777"+" |
通过 http://127.0.0.1:8080/ssh/testdb.jsp就可以看到结果了。