一、我们先找到tomcat安装目录中conf目录下的context.xml更改里面的内容:
<?xml version='1.0' encoding='utf-8'?> <Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/mysqldb" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" username="root" password="123456" maxActive="4" maxIdle="2" maxWait="-1" /> <ResourceLink global="mysqldb" name="mysqldb" type="javax.sql.DataSource"/> </Context>
特别注意,把context.xml复制一份到eclipse项目工程中的WebRoot中的META-INF中。
修改server.xml中的内容
<GlobalNamingResources>
<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
username="root" password="123456"
maxActive="20" maxIdle="10" maxWait="-1" />
第二步,打开应用程序目录 webapps\Sample里面的WEB-INF\web.xml,在最后</web-app>前添加:
<resource-ref>
<description>MS SQL Server</description>
<res-ref-name>jdbc/mssql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
如果没有添加这一步,就会报这样的错误:Name jdbc is not bound in this Context 。
第三步,打开Tomcat安装目录下的conf\Catalina\localhost,找到和你的应用程序同名的xml,例如Sample.xml。如果没有,就建一个。Sample.xml里面的内容是:
<?xml version='1.0' encoding='utf-8'?>
<Context displayName="This is a Sample" docBase="Sample" path="/Sample" workDir="work\Catalina\localhost\Sample">
<ResourceLink name="jdbc/mssql" global="jdbc/mssql" type="javax.sql.DataSource"/>
</Context>
要注意的是,文件名、docBase、path、workDir都不能错,要和你应用程序名称相对应。
如果第二步正确了,但是还没有添加这一步,就会报这样的错误:Cannot create JDBC driver of class "for connect URL 'null'" 。
存在一个问题:访问页面地址需要完整的项目路径:http://localhost:8080/项目工程名/jsp页面