日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate Tomcat JNDI数据源配置(转)

發布時間:2025/3/21 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate Tomcat JNDI数据源配置(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

簡述:

配置JNDI 查找Tomcat 中server.xml中定義的數據源

?

步驟:

1. 修改elipse的數據源server.xml

?

主要修改如下,

1. 添加下面這段Context文本 其中StudentManagementWeb是項目名稱

?

[html]?view plaincopy
  • ????<Context?docBase="StudentManagementWeb"?path="/StudentManagementWeb"?reloadable="true"?source="org.eclipse.jst.jee.server:StudentManagementWeb">??
  • ????????<Resource?name="jdbc/smw"?auth="Container"?type="javax.sql.DataSource"??
  • maxActive="100"?maxIdle="30"?maxWait="10000"??
  • username="root"?password="sql"?driverClassName="com.mysql.jdbc.Driver"??
  • url="jdbc:mysql://localhost:3306/smw"/>??
  • ????</Context>??
  • ?

    ?

    2.修改項目的web.xml文件

    ?

    添加如下字段,用來查找數據源

    ?

    [plain]?view plaincopy
  • ?<resource-ref>??
  • <description>DB?Connection</description>??
  • <res-ref-name>jdbc/smw</res-ref-name>??
  • <res-type>javax.sql.DataSource</res-type>??
  • <res-auth>Container</res-auth>??
  • ?</resource-ref>??
  • ?

    ?

    3. 修改Hibernate配置文件,其中 mapping resourse 為自定義的model對象

    ?

    [html]?view plaincopy
  • <session-factory>??
  • ????<property?name="connection.datasource">java:comp/env/jdbc/smw</property>??
  • ????????<property?name="dialect">??
  • ????????org.hibernate.dialect.MySQLDialect??
  • ????</property>??
  • ????<property?name="show_sql">true</property><!--?show?sql?statement?-->??
  • ????<!--?mapping?files?-->??
  • ????<mapping?resource="smw/model/Student.hbm.xml"/>??
  • ????<mapping?resource="smw/model/CourseSelection.hbm.xml"/>??
  • ????<mapping?resource="smw/model/Course.hbm.xml"/>??
  • </session-factory>??
  • ?

    ?

    4. Hibernate的session builder

    ?

    [plain]?view plaincopy
  • Configuration?cfg?=?new?Configuration().configure();??
  • factory?=?cfg.buildSessionFactory();???//build?Session?Factory??
  • ?

    ?

    完成上述四步就做到了JNDI查找數據源的配置了

    ?

    下面是四個文件的完整代碼

    server.xml

    ?

    [html]?view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"?>??
  • <!--??
  • ??Licensed?to?the?Apache?Software?Foundation?(ASF)?under?one?or?more??
  • ??contributor?license?agreements.??See?the?NOTICE?file?distributed?with??
  • ??this?work?for?additional?information?regarding?copyright?ownership.??
  • ??The?ASF?licenses?this?file?to?You?under?the?Apache?License,?Version?2.0??
  • ??(the?"License");?you?may?not?use?this?file?except?in?compliance?with??
  • ??the?License.??You?may?obtain?a?copy?of?the?License?at??
  • ??
  • ??????http://www.apache.org/licenses/LICENSE-2.0??
  • ??
  • ??Unless?required?by?applicable?law?or?agreed?to?in?writing,?software??
  • ??distributed?under?the?License?is?distributed?on?an?"AS?IS"?BASIS,??
  • ??WITHOUT?WARRANTIES?OR?CONDITIONS?OF?ANY?KIND,?either?express?or?implied.??
  • ??See?the?License?for?the?specific?language?governing?permissions?and??
  • ??limitations?under?the?License.??
  • --><!--?Note:??A?"Server"?is?not?itself?a?"Container",?so?you?may?not??
  • ?????define?subcomponents?such?as?"Valves"?at?this?level.??
  • ?????Documentation?at?/docs/config/server.html??
  • ?--><Server?port="8005"?shutdown="SHUTDOWN">??
  • ??
  • ??<!--APR?library?loader.?Documentation?at?/docs/apr.html?-->??
  • ??<Listener?SSLEngine="on"?className="org.apache.catalina.core.AprLifecycleListener"/>??
  • ??<!--Initialize?Jasper?prior?to?webapps?are?loaded.?Documentation?at?/docs/jasper-howto.html?-->??
  • ??<Listener?className="org.apache.catalina.core.JasperListener"/>??
  • ??<!--?Prevent?memory?leaks?due?to?use?of?particular?java/javax?APIs-->??
  • ??<Listener?className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>??
  • ??<!--?JMX?Support?for?the?Tomcat?server.?Documentation?at?/docs/non-existent.html?-->??
  • ??<Listener?className="org.apache.catalina.mbeans.ServerLifecycleListener"/>??
  • ??<Listener?className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>??
  • ??
  • ??<!--?Global?JNDI?resources??
  • ???????Documentation?at?/docs/jndi-resources-howto.html??
  • ??-->??
  • ??<GlobalNamingResources>??
  • ????<!--?Editable?user?database?that?can?also?be?used?by??
  • ?????????UserDatabaseRealm?to?authenticate?users??
  • ????-->??
  • ????<Resource?auth="Container"?description="User?database?that?can?be?updated?and?saved"?factory="org.apache.catalina.users.MemoryUserDatabaseFactory"?name="UserDatabase"?pathname="conf/tomcat-users.xml"?type="org.apache.catalina.UserDatabase"/>??
  • ??</GlobalNamingResources>??
  • ??
  • ??<!--?A?"Service"?is?a?collection?of?one?or?more?"Connectors"?that?share??
  • ???????a?single?"Container"?Note:??A?"Service"?is?not?itself?a?"Container",???
  • ???????so?you?may?not?define?subcomponents?such?as?"Valves"?at?this?level.??
  • ???????Documentation?at?/docs/config/service.html??
  • ???-->??
  • ??<Service?name="Catalina">??
  • ????
  • ????<!--The?connectors?can?use?a?shared?executor,?you?can?define?one?or?more?named?thread?pools-->??
  • ????<!--??
  • ????<Executor?name="tomcatThreadPool"?namePrefix="catalina-exec-"???
  • ????????maxThreads="150"?minSpareThreads="4"/>??
  • ????-->??
  • ??????
  • ??????
  • ????<!--?A?"Connector"?represents?an?endpoint?by?which?requests?are?received??
  • ?????????and?responses?are?returned.?Documentation?at?:??
  • ?????????Java?HTTP?Connector:?/docs/config/http.html?(blocking?&?non-blocking)??
  • ?????????Java?AJP??Connector:?/docs/config/ajp.html??
  • ?????????APR?(HTTP/AJP)?Connector:?/docs/apr.html??
  • ?????????Define?a?non-SSL?HTTP/1.1?Connector?on?port?8080??
  • ????-->??
  • ????<Connector?connectionTimeout="20000"?port="8080"?protocol="HTTP/1.1"?redirectPort="8443"/>??
  • ????<!--?A?"Connector"?using?the?shared?thread?pool-->??
  • ????<!--??
  • ????<Connector?executor="tomcatThreadPool"??
  • ???????????????port="8080"?protocol="HTTP/1.1"???
  • ???????????????connectionTimeout="20000"???
  • ???????????????redirectPort="8443"?/>??
  • ????-->?????????????
  • ????<!--?Define?a?SSL?HTTP/1.1?Connector?on?port?8443??
  • ?????????This?connector?uses?the?JSSE?configuration,?when?using?APR,?the???
  • ?????????connector?should?be?using?the?OpenSSL?style?configuration??
  • ?????????described?in?the?APR?documentation?-->??
  • ????<!--??
  • ????<Connector?port="8443"?protocol="HTTP/1.1"?SSLEnabled="true"??
  • ???????????????maxThreads="150"?scheme="https"?secure="true"??
  • ???????????????clientAuth="false"?sslProtocol="TLS"?/>??
  • ????-->??
  • ??
  • ????<!--?Define?an?AJP?1.3?Connector?on?port?8009?-->??
  • ????<Connector?port="8009"?protocol="AJP/1.3"?redirectPort="8443"/>??
  • ??
  • ??
  • ????<!--?An?Engine?represents?the?entry?point?(within?Catalina)?that?processes??
  • ?????????every?request.??The?Engine?implementation?for?Tomcat?stand?alone??
  • ?????????analyzes?the?HTTP?headers?included?with?the?request,?and?passes?them??
  • ?????????on?to?the?appropriate?Host?(virtual?host).??
  • ?????????Documentation?at?/docs/config/engine.html?-->??
  • ??
  • ????<!--?You?should?set?jvmRoute?to?support?load-balancing?via?AJP?ie?:??
  • ????<Engine?name="Catalina"?defaultHost="localhost"?jvmRoute="jvm1">???????????
  • ????-->???
  • ????<Engine?defaultHost="localhost"?name="Catalina">??
  • ??
  • ??????<!--For?clustering,?please?take?a?look?at?documentation?at:??
  • ??????????/docs/cluster-howto.html??(simple?how?to)??
  • ??????????/docs/config/cluster.html?(reference?documentation)?-->??
  • ??????<!--?
  • ??????<Cluster?className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>?
  • ??????-->??????????
  • ??
  • ??????<!--?The?request?dumper?valve?dumps?useful?debugging?information?about??
  • ???????????the?request?and?response?data?received?and?sent?by?Tomcat.??
  • ???????????Documentation?at:?/docs/config/valve.html?-->??
  • ??????<!--?
  • ??????<Valve?className="org.apache.catalina.valves.RequestDumperValve"/>?
  • ??????-->??
  • ??
  • ??????<!--?This?Realm?uses?the?UserDatabase?configured?in?the?global?JNDI??
  • ???????????resources?under?the?key?"UserDatabase".??Any?edits??
  • ???????????that?are?performed?against?this?UserDatabase?are?immediately??
  • ???????????available?for?use?by?the?Realm.??-->??
  • ??????<Realm?className="org.apache.catalina.realm.UserDatabaseRealm"?resourceName="UserDatabase"/>??
  • ??
  • ??????<!--?Define?the?default?virtual?host??
  • ???????????Note:?XML?Schema?validation?will?not?work?with?Xerces?2.2.??
  • ???????-->??
  • ??????<Host?appBase="webapps"?autoDeploy="true"?name="localhost"?unpackWARs="true"?xmlNamespaceAware="false"?xmlValidation="false">??
  • ??
  • ????????<!--?SingleSignOn?valve,?share?authentication?between?web?applications??
  • ?????????????Documentation?at:?/docs/config/valve.html?-->??
  • ????????<!--?
  • ????????<Valve?className="org.apache.catalina.authenticator.SingleSignOn"?/>?
  • ????????-->??
  • ??
  • ????????<!--?Access?log?processes?all?example.??
  • ?????????????Documentation?at:?/docs/config/valve.html?-->??
  • ????????<!--??
  • ????????<Valve?className="org.apache.catalina.valves.AccessLogValve"?directory="logs"????
  • ???????????????prefix="localhost_access_log."?suffix=".txt"?pattern="common"?resolveHosts="false"/>??
  • ????????-->??
  • ??
  • ??????<Context?docBase="StudentManagementWeb"?path="/StudentManagementWeb"?reloadable="true"?source="org.eclipse.jst.jee.server:StudentManagementWeb">??
  • ????????<Resource?name="jdbc/smw"?auth="Container"?type="javax.sql.DataSource"??
  • ????????maxActive="100"?maxIdle="30"?maxWait="10000"??
  • ????????username="root"?password="sql"?driverClassName="com.mysql.jdbc.Driver"??
  • ????????url="jdbc:mysql://localhost:3306/smw"/>??
  • ??????</Context>??
  • ??????</Host>??
  • ????</Engine>??
  • ??</Service>??
  • </Server>??

  • web.xml

    ?

    ?

    [plain]?view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"?>??
  • <web-app?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?xmlns="http://java.sun.com/xml/ns/javaee"?xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"?xsi:schemaLocation="http://java.sun.com/xml/ns/javaee?http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"?id="WebApp_ID"?version="2.5">??
  • ??<display-name>StudentManagementWeb</display-name>??
  • ??<welcome-file-list>??
  • ????<welcome-file>Login.jsp</welcome-file>??
  • ??</welcome-file-list>??
  • ????
  • ??<resource-ref>??
  • ????<description>DB?Connection</description>??
  • ????<res-ref-name>jdbc/smw</res-ref-name>??
  • ????<res-type>javax.sql.DataSource</res-type>??
  • ????<res-auth>Container</res-auth>??
  • ??</resource-ref>??
  • ????
  • ??<context-param>???
  • ????<param-name>log4jConfigLocation</param-name>???
  • ????<param-value>/WEB-INF/log4j.properties</param-value>???
  • ??</context-param>???
  • ????
  • ??<!--?Define?LOG4J?Listener?-->???
  • ??<listener>???
  • ???<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>???
  • ??</listener>???
  • ????
  • ??<servlet>??
  • ??<!--?define?the?name?of?Servlet?-->??
  • ??<servlet-name>dispatcherServlet</servlet-name>??
  • ??<!--?Servlet?implementation?class?-->??
  • ??<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>??
  • ??<!--?initialize?the?context?-->??
  • ??<init-param>??
  • ??<param-name>contextConfigLocation</param-name>??
  • ??<!--?load?configuration?-->??
  • ??<param-value>/WEB-INF/applicationContext.xml</param-value>??
  • ??</init-param>??
  • ??<!--?set?loading?priority?-->??
  • ??<load-on-startup>1</load-on-startup>??
  • ??</servlet>??
  • ??<servlet-mapping>??
  • ??<servlet-name>dispatcherServlet</servlet-name>??
  • ??<url-pattern>*.do</url-pattern>??
  • ??</servlet-mapping>??
  • ????
  • </web-app>??

  • hibernate.cfg.xml

    ?

    ?

    [html]?view plaincopy
  • <?xml?version='1.0'?encoding='UTF-8'?>??
  • <!DOCTYPE?hibernate-configuration?PUBLIC??
  • ??????????"-//Hibernate/Hibernate?Configuration?DTD?3.0//EN"??
  • ??????????"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">??
  • ??
  • <hibernate-configuration>??
  • ??
  • ????<session-factory>??
  • <!--?????????<property?name="dialect">Database?Dialect??
  • ????????????org.hibernate.dialect.MySQLDialect??
  • ????????</property>??
  • ????????<property?name="connection.url">URL?of?the?database??
  • ????????????jdbc:mysql://localhost:3306/smw??
  • ????????</property>??
  • ????????<property?name="connection.username">root</property>user?name??
  • ????????<property?name="connection.password">sql</property>password??
  • ????????<property?name="connection.driver_class">connect?driver??
  • ????????????com.mysql.jdbc.Driver??
  • ????????</property>?-->??
  • ????????<property?name="connection.datasource">java:comp/env/jdbc/smw</property>??
  • ????????<property?name="dialect">??
  • ????????????org.hibernate.dialect.MySQLDialect??
  • ????????</property>??
  • ????????<property?name="show_sql">true</property><!--?show?sql?statement?-->??
  • ????????<!--?mapping?files?-->??
  • ????????<mapping?resource="smw/model/Student.hbm.xml"/>??
  • ????????<mapping?resource="smw/model/CourseSelection.hbm.xml"/>??
  • ????????<mapping?resource="smw/model/Course.hbm.xml"/>??
  • ????</session-factory>??
  • ??
  • </hibernate-configuration>??

  • HibernateUtil.java

    ?

    ?

    [java]?view plaincopy
  • package?smw.utils;??
  • ??
  • import?org.hibernate.Session;??
  • import?org.hibernate.SessionFactory;??
  • import?org.hibernate.cfg.Configuration;??
  • ??
  • public?class?HibernateUtil?{??
  • ????private?static?SessionFactory?factory;??
  • ????static{??
  • ????????try{??
  • ????????????Configuration?cfg?=?new?Configuration().configure();??
  • ????????????factory?=?cfg.buildSessionFactory();???//build?Session?Factory??
  • ????????}catch(Exception?e){??
  • ????????????System.out.println("static?of?HibernateUtil:?"?+?e.getMessage());??
  • ????????}??
  • ????}??
  • ??????
  • ????/**?
  • ?????*?@return?SessionFactory?
  • ?????*/??
  • ????public?static?SessionFactory?getSessionFactory(){??
  • ????????return?factory;??
  • ????}??
  • ??????
  • ????/**?
  • ?????*?get?Session?
  • ?????*?@return?Session?
  • ?????*/??
  • ????public?static?Session?getSession(){??
  • ????????return?factory.openSession();??
  • ????}??
  • ??????
  • ????/**?
  • ?????*?close?Session?
  • ?????*?@param?session?
  • ?????*/??
  • ????public?static?void?closeSession(Session?session){??
  • ????????if(session?!=?null){??
  • ????????????if(session.isOpen()){??
  • ????????????????session.close();??
  • ????????????}??
  • ????????}??
  • ????}??
  • }??

  • http://blog.csdn.net/anialy/article/details/8237448

    總結

    以上是生活随笔為你收集整理的Hibernate Tomcat JNDI数据源配置(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。