??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲一区二区精品3399,国产精品视频男人的天堂,欧美成a人片在线观看久http://www.aygfsteel.com/thisliy/category/39342.htmlzh-cnThu, 15 Oct 2009 13:53:57 GMTThu, 15 Oct 2009 13:53:57 GMT60tomcat数据源配|(工程独立Q?/title><link>http://www.aygfsteel.com/thisliy/archive/2009/10/12/297917.html</link><dc:creator>liyang</dc:creator><author>liyang</author><pubDate>Mon, 12 Oct 2009 08:54:00 GMT</pubDate><guid>http://www.aygfsteel.com/thisliy/archive/2009/10/12/297917.html</guid><description><![CDATA[<span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "> <p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">有关tomcat数据源配|的文章已经不少Q但是一般都是把数据源直接配|到server.xml文g中,q样在移植应用程序时带来了一些不必要的麻烦,其实tomcat数据源的配置q有一U方法如下:(x)<br /> 1.假如有工EtestQ其需要用到的数据源ؓ(f)test/jdbc/DataQ则在目录TOMCAT_HOME/conf\Catalina\localhost<br /> 下面建立文gtest.xml,内容为:(x)</p> <p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><?xml version='1.0' encoding='utf-8'?><br /> <Context crossContext="true" displayName="Test" docBase="Test" path="/Test" workDir="work\Catalina\localhost\Test"><br />   <Resource auth="Container" name="test/jdbc/Data" type="javax.sql.DataSource"/><br />   <ResourceParams name="test/jdbc/Data"><br />     <parameter><br />       <name>factory</name><br />       <value>org.apache.commons.dbcp.BasicDataSourceFactory</value><br />     </parameter><br />     <parameter><br />       <name>url</name><br />       <value>jdbc:jtds:sqlserver://127.0.0.1:1433/test;tds=8.0;lastupdatecount=true;</value><br />     </parameter><br />     <parameter><br />       <name>password</name><br />       <value>11111111</value><br />     </parameter><br />     <parameter><br />       <name>maxWait</name><br />       <value>10000</value><br />     </parameter><br />     <parameter><br />       <name>maxActive</name><br />       <value>100</value><br />     </parameter><br />     <parameter><br />       <name>driverClassName</name><br />       <value>net.sourceforge.jtds.jdbc.Driver</value><br />     </parameter><br />     <parameter><br />       <name>username</name><br />       <value>sa</value><br />     </parameter><br />     <parameter><br />       <name>maxIdle</name><br />       <value>30</value><br />     </parameter><br />   </ResourceParams><br /> </Context></p> <p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">2.其他配置<br />   Q?Qweb.xml文g<br />      在工E当中的web.xml文g中添?br />     <resource-ref><br />        <res-ref-name>test/jdbc/Data</res-ref-name><br />        <res-type>javax.sql.DataSource</res-type><br />        <res-auth>Container</res-auth><br />     </resource-ref><br />  Q?Q工E中调用代码<br />     Context initContext = new InitialContext();<br />       Context envContext  = (Context)initContext.lookup("java:/comp/env");      <br />       DataSource ds = (DataSource)envContext.lookup("test/jdbc/Data"); <br />  // test/jdbc/Data是数据源的名?nbsp; <br />       Connection conn = ds.getConnection(); <br />  Statement stmt = conn.createStatement();</p> </span> <img src ="http://www.aygfsteel.com/thisliy/aggbug/297917.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/thisliy/" target="_blank">liyang</a> 2009-10-12 16:54 <a href="http://www.aygfsteel.com/thisliy/archive/2009/10/12/297917.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcat数据源的配置和?/title><link>http://www.aygfsteel.com/thisliy/archive/2009/10/12/297915.html</link><dc:creator>liyang</dc:creator><author>liyang</author><pubDate>Mon, 12 Oct 2009 08:53:00 GMT</pubDate><guid>http://www.aygfsteel.com/thisliy/archive/2009/10/12/297915.html</guid><description><![CDATA[<span style="font-family: verdana, sans-serif; font-size: 14px; line-height: 21px; "> <h1 class="title_txt" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0.5em; padding-left: 1.5em; font-size: 15px; font-family: 'Microsoft yahei', verdana, sans-serif; border-bottom-width: 2px; border-bottom-style: dotted; border-bottom-color: #dcdcdc; "><img src="http://hi.images.csdn.net/images/blog/authorship.gif" border="0" width="15" height="16" alt="原创" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 5px; margin-bottom: 0px; margin-left: -20px; " />  tomcat数据源的配置和?nbsp;<cite class="fav_csdnstylebykimi" style="font-style: normal; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 5px; display: inline; text-decoration: none; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><a href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'saveit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();" class="fav_csdnstylebykimi" title="收藏到我的网摘中Qƈ分nl我的朋? style="text-decoration: none; color: #34579c; font: normal normal normal 12px/normal Tahoma, sans-serif; padding-top: 1px; padding-right: 25px; padding-bottom: 1px; padding-left: 10px; background-image: url(http://hi.images.csdn.net/images/share-add.gif); background-repeat: no-repeat; background-attachment: initial; background-color: initial; background-position: 0px 0px; ">收藏</a></cite></h1> <div id="wmqeeuq" class="blogstory" style="float: left; width: 931px; font-size: 14px; line-height: 21px; ">一、数据源介:(x)<br /> ************************************************************************************<br /> 在Java语言中,DataSource对象是一个代表数据源实体的对象。一个数据源是一个用来存储数据的工具Q它可以是复杂的大型企业U数据库Q也可以是简单得只有行和列的文g。数据源可以位于在服务器端,也可以位于客服端?br /> <br /> 应用E序通过一个连接来讉K数据源,那么一个DataSource对象是用于提供q接数据源的工具。DataSource接口提供了两个方法用于徏立和数据源的q接<br /> 使用DataSource对象建立和数据库的连接比起用DriverManager接口更加高效Q虽然两者的使用范围都很怼Qƈ且都提供了方法用于徏立和数据库的q接Q设|连接的最大超时时_(d)获取、登录?br />    <br /> 但两者之间的区别更加明显。和DriverManager不同Q一个DataSource对象能够识别和描q它所代表的数据源的属性,而且DataSource对象的工作和JNDI(Javatm Naming and Directory Interfaceti)h密切的关p,DataSource的徏立、发布、独立于应用E序的管理都依靠JNDI技术?br />     <br /> 在JDBC2.0或JDBC3.0中,所有的数据库驱动程序提供商必须提供一个实CDataSource接口的类Q要使用数据源必首先在JNDI中注册该数据源对象?br /> 如果在JNDI中注册了数据源对象,会(x)比v使用DriverManager来具有两个方面的优势Q?br /> 首先E序不需要像使用DriverManager一样对加蝲的数据库驱动E序信息q行编码,E序员可以选择先在JNDI中注册这个数据源对象Q然后在E序中用一个逻辑名称来引用它QJNDI?x)自动根据你l出的名U找Cq个名称l定的DataSource对象。然后就可以使用q个DataSource对象来徏立和具体数据库的q接了?br /> <br /> 其次Q用实CDataSource接口的类所h的第二个优势体现在连接池和分布式事务上。连接池通过对连接的复用而不是新Z个物理连接来显著地提高程序的效率。从而适用于Q务繁忙、负担繁重的企业U分布式事务?br /> *************************************************************************************<br /> <br /> 二、JNDI介:(x)<br /> *************************************************************************************<br /> JNDI是用于向JavaE序提供目录和命名功能的API。它被设计成独立于特定的目录服务Q所以各U各L(fng)目录都可以通过相同的方式进行访问?br /> <br /> 可以单地把JNDI理解ZU将对象和名字绑定的技术,对象工厂负责生出对象,q些对象都和惟一的名字绑定。外部程序可以通过名字来获取对某个对象的引用?br /> <br /> 在Intranets(企业内部|?和InternatesQ互联网Q中目录服务(Directory service)扮演了一个非帔R要的角色Q它能够在众多的用户、机器、网l、服务、应用程序中讉K各种各样的信息。目录服务提供了一pd的命名措施,用hcd以理解的命名方式来刻dU各L(fng)实体之间的关p?br /> <br /> 一个企业式计算环境(computing environment)通常是由若干代表不同部分的命名复合而成。比如在一个企业环境中DNS(Domain Name System)通常被当成顶层的命名Ҏ(gu)(top-level namein facility)区分不同的部门或l织。而这些部门或l织自己又可以用诸如LADP或NDS的目录服?br /> <br /> 从用L(fng)角度来看Q这些都是由不同的命名方案构成的复合名称。URL是一个很典型的例子,它由多个命名Ҏ(gu)构成。用目录服务的应用E序必须支持q种复合构成方式<br /> <br /> 使用目录服务API的Java开发h员获得的好处不仅在于API独立于特定的目录或命名服务,而且可以通过多层的命名方案无~访?seamless acess)目录对象。实际上QQ何的应用E序都可以将自n的对象和特定的命名绑定v来,q种功能可以使到M的JavaE序查找和获取Q何类型的对象<br /> <br /> l端用户可以方便C用逻辑名称从而轻易地在网l上查找和识别各U不同的对象Q目录服务的开发h员可以用API方便地在不同的客服端之间切换而不需要作M更改<br /> *************************************************************************************<br /> <br /> <br /> 三、数据源和连接池的关p:(x)<br /> *************************************************************************************<br /> JDBC2.0提供了javax.sql.DataSource接口Q它负责建立与数据库的连接,在应用程序访问数据库时不需要编写连接数据库的代码,可以直接从数据源获得数据库连接?br /> <br /> 在DataSource中事先徏立了多个数据库连接,q些数据库连接保存在q接?Connect Pool)中。JavaE序讉K数据库时Q只需要从q接池中取出I闲状态的数据库连接;当程序访问数据库l束Q再数据库q接攑֛q接池?br /> *************************************************************************************<br /> <br /> <br /> 四、数据源和JNDI的关p:(x)<br /> *************************************************************************************<br /> DataSource对象是由Tomcat提供的,因此不能在程序中采用创徏一个实例的方式来生产DataSource对象Q而需要采用Java的另一个技术JNDIQ来获得DataSource对象的引用?br /> <br /> Tomcat把DataSource作ؓ(f)一U可以配|的JNDI资源来处理。生成DataSource对象的工厂ؓ(f)org.apache.commons.dbcp.BasicDataSourceFactory?br /> <br /> 在javax.naming包中提供了Context接口Q该接口提供了将对象和名字绑定,以及(qing)通过名字索对象的Ҏ(gu)。Context中的主要Ҏ(gu)有:(x)<br /> bind(String name,Object object)Q将对象与一个名字绑?br /> lookup(String name)Q返回与指定的名字绑定的对象<br /> *************************************************************************************<br /> <br /> <br /> 五、Tomcat中数据源的配|:(x)<br /> *************************************************************************************<br /> 数据源的配置涉及(qing)修改server.xml和web.xmlQ在server.xml中加入定义数据源的元?lt;Resource>Q在web.xml加入<resource-ref>元素Q声明该Web应用所引用的数?br /> <br /> <br /> AQ在server.xml中加?lt;Resource>元素Q?lt;Resource>元素用来定义JNDI Resource?br /> <br /> 属?nbsp;   描述<br /> name    指定Resource的JNDI名字<br /> auth    指定理Resource的ManagerQ它有两个可选|(x)Container、Application<br /> type    指定Resource所属的Javacd<br /> <br /> <Resource name = "jdbc/BookDb" <br /> auth = "Container" <br />         type = "javax.sql.DataSource" /><br /> <br /> BQ在<Resource>元素中加?lt;ResourceParams>元素Q?lt;ResourceParams>元素用来指定各种参数?br /> <br /> 属?nbsp;   描述<br /> factory    指定生成的DataResource的factorycd<br /> maxActive    指定数据库连接池中处于活动状态的最大连接数目,0表示不受限制<br /> maxIdle    指定数据库连接池中处于空闲状态的最大连接数目,0表示不受限制<br /> maxWait    指定q接池中q接处于I闲状态的最长时?过?x)抛出异常?1表示无限<br /> username    指定q接数据库的用户?br /> password    指定q接数据库的口o(h)<br /> driverClassName    指定q接数据库的JDBC驱动E序<br /> url             指定q接数据库的URL<br /> <br />    <ResourceParams name = "jdbc/BookDb"><br /> <br />     <parameter><br />        <name>factory</name><br />        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value><br />     </parameter><br /> <br />     <parameter><br />        <name>maxActive</name><br />        <value>100</value><br />     </parameter><br /> <br />     <parameter><br />        <name>maxIdle</name><br />        <value>30</value><br />     </parameter><br /> <br />     <parameter><br />        <name>maxWait</name><br />        <value>10000</value><br />     </parameter><br /> <br />     <parameter><br />        <name>username</name><br />        <value>user</value><br />     </parameter><br /> <br />     <parameter><br />        <name>password</name><br />        <value>1234</value><br />     </parameter>  <br /> <br />     <parameter><br />        <name>driverClassName</name><br />        <value>com.mysql.jdbc.Driver</value><br />     </parameter><br /> <br />     <parameter><br />        <name>url</name><br />        <value>jdbc:mysql//localhost:3306/BookDb?autoReconnect=true</value><br />     </parameter>  <br /> <br /> </ResourceParams><br /> <br /> CQ在web.xml中加?lt;resource-ref>元素Q?lt;resource-ref>元素表示在Web应用中引用JNDI资源<br /> <br /> 属?nbsp;                 描述<br /> description    Ҏ(gu)引用的资源的说明<br /> res-ref-name    指定所引用资源的JNDI名字Q与<Resource>元素中的name属性对?br /> res-type             指定所引用资源的类名字Q与<Resource>元素中的type属性对?br /> res-auth             指定所引用资源的ManagerQ与<Resource>元素中的auth属性对?br /> <br /> *************************************************************************************<br /> <br /> <br /> 六、在Web应用中用数据源Q?br /> *************************************************************************************<br /> javax.naming.Context提供了查找JNDI Resource的接口,可以通过三个步骤来用数据源对象Q?br /> <br /> AQ获得对数据源的引用Q?br /> Context ctx = new InitalContext();<br /> DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/BookDb");<br /> <br />     BQ获得数据库q接对象Q?br />         Connection con = ds.getConnection();<br /> <br />     CQ返回数据库q接到连接池Q?br />         con.close();<br /> <br /> <br /> <br /> 在连接池中用close()Ҏ(gu)和在非连接池中用close()Ҏ(gu)的区别是Q前者仅仅是把数据库q接对象q回到数据库q接池中Q是q接对象又恢复到I闲状态,而非关闭数据库连接,而后者将直接关闭和数据库的连?br /> *************************************************************************************<br /> <br /> <br /> 七、发布用数据源的Web应用Q?br /> *************************************************************************************<br /> 如果直接同JDBC讉K数据库,可以把JDBC驱动E序拯到Web应用的WEB-INF/lib目录或者Tomcat安装目录下的common/lib目录下?br /> <br /> 如果通过数据源访问数据库Q由于数据源由Servlet容器创徏q维护,所以必LJDBC驱动E序拯到Tomcat安装目录下的common/lib目录下,保Servlet容器能够讉K驱动E序?br /> *************************************************************************************</div> </span> <img src ="http://www.aygfsteel.com/thisliy/aggbug/297915.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/thisliy/" target="_blank">liyang</a> 2009-10-12 16:53 <a href="http://www.aygfsteel.com/thisliy/archive/2009/10/12/297915.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcat修改主页http://www.aygfsteel.com/thisliy/archive/2009/07/10/286212.htmlliyangliyangFri, 10 Jul 2009 03:41:00 GMThttp://www.aygfsteel.com/thisliy/archive/2009/07/10/286212.htmlҎ(gu)1Q?br /> 我在我机子上按照下面的方法已l成功更改tomcat的默认目?/strong>

目标Q?/strong>

我在$tomcat/webapps/下徏了个myjsp目录作ؓ(f)我网站的默认目录Q在myjsp中有一个login.jsp文gQ该文g要作为我|站的默认主c(din)?/p>

修改配置文gQ?/strong>

首先Q修?tomcat/conf/server.xml文g?br /> 在server.xml文g中,有一D如下:(x)
……
<engine name="Catalina" defaultHost="localhost">
   <host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
   ……
   <host>
</engine>
……
?lt;host></host>标签之间d上:(x)

<Context path="" docBase="myjsp" debug="0" reloadable="true" />

path是说明虚拟目录的名字Q如果你要只输入ip地址显CZ,则该键值留为空Q?/span>

docBase是虚拟目录的路径Q它默认的是$tomcat/webapps/ROOT目录Q现在我在webapps目录下徏了一个myjsp目录Q让该目录作为我的默认目录?/p>

debug和reloadable一般都分别讄?和true?/p>

然后Q修?tomcat/conf/web.xml文g?br /> 在web.xml文g中,有一D如下:(x)
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
?lt;welcome-file-list>?lt;/welcome-file>index.html</welcome-file>之间d上:(x)

<welcome-file>login.jsp</welcome-file>

保存上述两个文g后重启tomcatQ在览器地址栏内输入"http://localhost:8080/"Q显Clogin.jsp面的内宏V?br />
Ҏ(gu)2Q?br />
1.不要conf目录下的那个web.xml文gQ让它老死在那里吧?/div>
 
2.把原来的ROOT目录清空Q里面什么都不要留。删掉或者改名随便你怎么弄都成。只要清I就好?/div>
 
3.发布你自q目到ROOT目录下,用war包发布或者用直接拯的都一个效果。保证index.html/index.htm/index.jsp其中一个存在于ROOT目录下?/div>
 
4.删除%CATALINA%/work目录下的一切。我是没有清理q个目录Q导?a href="http://localhost:8080/">http://localhost:8080永远都是那只猫~~~~郁闷
 
5.重vtomcat。一切搞定?/div>

liyang 2009-07-10 11:41 发表评论
]]> վ֩ģ壺 | ԭ| ³ƶ| | | | | ̺| | | ƶ| Ƥ| | ƽ½| Ĭ| żҽ| ͩ| ̨| ܱ| | | | ƺ| ָɽ| | | ̨| Ұ| | | | | | ɽ| | Ͻ| | ˼é| Ѩ| | |