Commit/Log out……
然后在程序中引用:
InitialContext ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql"); // jdbc/mysql是JNDI Name
con = ds.getConnection();
其他的就一样用了,注意返回前要手动关闭数据库连接,否则很快就会连接数耗尽。
另外一种方法就是在全局的Resource里的DataSource进行设置,然后在Context中的Resource Links里面引用。
Resource Link设置方法如下:
Name: jdbc/mysql(可以与全局名不同,比如jj,其他不变即可,相应的,ctx.lookup中要改为"java:comp/env/jj")
Global: jdbc/mysql(全局Resource里Data Source的名字)
Type: javax.sql.DataSource
在这里《Eclipse从入门到精通》的方法有一些问题:可以直接在Resource Link里面设置,并不用直接去更改Server.xml。它前面用写Server.xml的方法设置不用deploy的Context,tomcat确认更新以后就把这个Context写到其他地方了,可以在Host.Contest里面直接修改了,增加Resource Link。
《E》书里面手写Server.xml达到增加非Tomcat目录Context效果的语句如下:
在server.xml文件最末尾的之前插入:
</Context path="/hello"
reloadable="true"
docBase="C:\eclipse\workspace\myweb\hello"
workDir="C:\eclipse\workspace\myweb\bin">
其实也可以直接在admin界面里面TomcatServer.Service.Host里面直接添加(注意将Use Naming设为True,否则会出现Name java:comp is not bound in this Context异常),但是这样的话,无法规定servlet输出的目录(workDir)。可以权衡后使用。个人认为直接设置admin界面还是挺方便的。
然后在程序中引用:
InitialContext ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql"); // jdbc/mysql是JNDI Name
con = ds.getConnection();
其他的就一样用了,注意返回前要手动关闭数据库连接,否则很快就会连接数耗尽。
另外一种方法就是在全局的Resource里的DataSource进行设置,然后在Context中的Resource Links里面引用。
Resource Link设置方法如下:
Name: jdbc/mysql(可以与全局名不同,比如jj,其他不变即可,相应的,ctx.lookup中要改为"java:comp/env/jj")
Global: jdbc/mysql(全局Resource里Data Source的名字)
Type: javax.sql.DataSource
在这里《Eclipse从入门到精通》的方法有一些问题:可以直接在Resource Link里面设置,并不用直接去更改Server.xml。它前面用写Server.xml的方法设置不用deploy的Context,tomcat确认更新以后就把这个Context写到其他地方了,可以在Host.Contest里面直接修改了,增加Resource Link。
《E》书里面手写Server.xml达到增加非Tomcat目录Context效果的语句如下:
在server.xml文件最末尾的之前插入:
reloadable="true"
docBase="C:\eclipse\workspace\myweb\hello"
workDir="C:\eclipse\workspace\myweb\bin">
其实也可以直接在admin界面里面TomcatServer.Service.Host里面直接添加(注意将Use Naming设为True,否则会出现Name java:comp is not bound in this Context异常),但是这样的话,无法规定servlet输出的目录(workDir)。可以权衡后使用。个人认为直接设置admin界面还是挺方便的。
| 对此文章发表了评论 |
