设为首页 收藏本站
查看: 602|回复: 0

[经验分享] Eclipse里配置Ant 组织的Project(3) -- E中配置Tomcat的JNDI

[复制链接]

尚未签到

发表于 2017-2-7 12:53:43 | 显示全部楼层 |阅读模式
  Eclipse里配置Ant 组织的Project(3)

接着Eclipse里配置Ant 组织的Project(2)(http://rmn190.iteye.com/admin/blogs/174851)一篇博文,在这篇里我将整理利用Eclipse在Tomcat里JNDI/DataSource.

在整理之前先说下我以前对JNDI的认识,说实话,前些天我对Tomcat里内置的JNDI功能一点也不清楚,只是听说过Tomcat里有这个功能,可怎么用,如何配置一点也没接触过.

这些天经过无数的折磨看了Tomcat的docs后,也就是解压Tomcat后这个路径apache-tomcat-5.5.25/webapps/tomcat-docs里的说明,现在可以说一点问题也没有了.

在这篇的整理中我将用一个新的例子来说明.

Step1,在Eclispe里新建一个Dynamic Web Project,可以命名为JndiT,
Step2,新一个jsp文件,以测试JNID的配置是否成功,内容如下:
        <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
            pageEncoding="ISO-8859-1"%>
        <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <%@ page import = "javax.sql.DataSource, javax.naming.Context,javax.naming.InitialContext,java.sql.Connection" %>

        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Insert title here</title>
        </head>
        <body>
            <%
                Context initCxt = new InitialContext();
                Connection con;
                try{
                    initCxt = (Context)initCxt.lookup("java:comp/env");
                    DataSource ds = (DataSource)
                      initCxt.lookup("jdbc/TestDB");
                    
                    con = ds.getConnection();
                    
                    System.out.println("Connection: "+con);
                }catch(Exception e){
                    e.printStackTrace();
                }
            %>
            
        </body>
        </html>
Step3,在Eclipse里把JndiT项目里的自动生成的那个web.xml内容改为如下:
            <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
            http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
                version="2.4">
              <description>MySQL Test App</description>
              <resource-ref>
                  <description>DB Connection</description>
                  <res-ref-name>jdbc/TestDB</res-ref-name>
                  <res-type>javax.sql.DataSource</res-type>
                  <res-auth>Container</res-auth>
              </resource-ref>
            </web-app>

        这里将引用待会后面配置的jdbc/TestDB.
Step4,下面看Servers下已配置成的Tomcat v5.5 Server at localhost-config里的server.xml文件.下面通过"Add and Remove Projects"对话框往Tomcat里把刚才新建的项目JndiT添加进来.添加后上面提到的server.xml里会自动生成如下一条:
    <Context docBase="JndiT" path="/JndiT" reloadable="true" source="org.eclipse.jst.j2ee.server:JndiT"/>.

    我们在这里配置DataSource,把上面那条改为如下:
    <Context docBase="JndiT" path="/JndiT" reloadable="true" source="org.eclipse.jst.j2ee.server:JndiT">
              <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="jnditest" password="123456" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
               url="jdbc:sqlserver://192.168.5.10:1433;database=jnditest"/>
      </Context>
至些配置完成.
  右击Tomcat,选择clean,这样JndiT就会自动publish到Eclispe里的内置的Tomcat插件里.这时注意E:\MyTestSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf下的server.xml文件.

我们看到下面自动添加了一条如下配置:
    <Context docBase="E:\MyTestSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\JndiT" path="/JndiT" reloadable="true" source="org.eclipse.jst.j2ee.server:JndiT">
        <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="jnditest" password="123456" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
               url="jdbc:sqlserver://192.168.5.10:1433;database=jnditest"/>
      </Context>

(这里补充一下,我觉得上面修改<Context docBase="JndiT" path="/JndiT" reloadable="true" source="org.eclipse.jst.j2ee.server:JndiT"/>时加的那条在Eclipse里启动Tomcat里好像不起作用,而起作用的是Eclipse里自动生成的那条.)
  

在浏览器里输入http://127.0.0.1:8080/JndiT/test.jsp,虽然页面上一篇空白,但不必着急,看Eclipse里的Console,下面已有期待已久的输出了:

    Connection: jdbc:sqljdbc://, UserName=jnditest, Microsoft SQL Server 2005 JDBC Driver


这个基本的配置OK了.下一篇中,再往里加上Spring对JNDI的支持.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-338873-1-1.html 上篇帖子: 关于tomcat集群中hibernate中用oscache分布缓存的问题 下篇帖子: tomcat起动的时候警告没有找到LOGGER文件,我知道为什么。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表