導航:首頁 > 編程語言 > javacompenv

javacompenv

發布時間:2023-05-13 14:04:12

java中建立資料庫連接池,有哪幾個步驟

配置包括3步:1.讓tomcat容器啟動創建資料庫連接池2.在某個項目中關聯資料庫連接池,3.取得資料庫連接池並使用。使用包括,當拿到資料庫連接後,可以通過2種方式來使用,1.使用jstl的標簽,2.封裝成返回connection的方法。

1.讓tomcat容器啟動創建資料庫連接池:
配置的地方很多,根據不同的需求配置在不同的位置,但原理就一個,就是要配置一個Context標簽下有一個resource標簽。
a.在Tomcat 6.0\conf\Catalina\localhost目錄下新建一個跟項目名一樣的*.xml文件

b.數據源設置的名字(JNDI) auth:表示數據源由誰管理,這兒是tomcat容器本身 type:類型

c.驅動設置,該驅動放在tomcat的lib下或者放在該站點的lib下設置連接資料庫字元串,url設置連接資料庫的用戶名設置資料庫連接的密碼-->

2.在某個項目中關聯資料庫連接池,在web.xml添加代碼:
<!--關聯jndi資料庫連接池 -->
3.使用jstl標簽測試數據源是否配置成功
4.在jsp中通過java代碼測試:
5.封裝成bean對外提供得到資料庫連接池連接的方式:

㈡ java的JNDI中java:comp/env....一般是哪裡的東西

tomcat的話,server.xml中配置!
<Context docBase="super" path="/燃腔super" reloadable="true" source="org.eclipse.jst.j2ee.server:super">
<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="5" maxIdle="100" maxWait="10000" name="jdbc/??" password="?春鄭?皮森衫" type="javax.sql.DataSource" url="jdbc:oracle:thin:@localhost:1521:orcl" username="??"/>
</Context>

㈢ java:comp/env/jdbc/mysql

java:comp/env/是一個J2EE環境銷空的定義,說白咐斗扒了就衡昌是代表當前J2EE應用的環境,比如你自己項目的Web環境或者是EJB環境

㈣ comp是什麼意思

排字機,排字工人

㈤ JNDI中 java:comp/env 是什麼意思

在部署和運行EJB中,容器將在java:/comp/env/處創建一個JNDI上下文環境,在該環境中,可以查找獲得
在ejb-jar.xml中定義的變數,通過在程序中用JNDI的lookup()方法查找java:/comp/env/謹悉後面的變數派知名得到的.這些值是只讀的,也只供本地J2EE組件使用,而客戶機無法獲取這些值塵晌消.

㈥ context.lookup("java:comp/env")中的("java:comp/env")是什麼意思

java:comp/env 是環境命名上下文 例虛世如:dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/DBPool"); 它扮譽握會從相應配置文件中載入名為"jdbc/DBPool"的對廳慶象

㈦ spring啟動失敗,java配置時報錯 哪位兄弟幫忙看看 什麼問題 非常感謝

先檢查配置有沒有問題,把xml文件裡面配置的代碼注釋下,一行行測試下,文件的路徑也留意下。。

㈧ DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/csl"); 這句報錯

幫你就是幫自己。你項目中使用的應該是DBCP的數據源.org.apache.tomcat.dbcp.dbcp.BasicDataSource.
查找你的web.xml中的配置,數據源res-type
<!-- JDBC DataSources (java:comp/env/jdbc) -->
<resource-ref>
<description>The default DS</description>
<res-ref-name>jdbc/DefaultDS</res-ref-name> <!--該名稱必須與下面的描述文件中的一致-->
<res-type>javax.sql.DataSource</res-type><!--看看你的配置-->
<res-auth>Container</res-auth>
</resource-ref>
查找你本類中的import處關於DataSource的螞穗渣引用。將來源處sun.jdbc.odbc.ee.DataSource修改為dbcp的數據源進行轉換即可。

在描述JNDI,例如獲得數據源時,JNDI地址有兩種寫法
A: java:comp/env/jdbc/demoDS
B: jdbc/demoDS
這兩種寫法,配置的方式也不盡相同,第一種方法應該算是一種利於程序移植或遷移的方法,它的實現族襲與「映射」的概念相同,而B方法,則是一個硬引用。
java:comp/env 是環境命名上下文(environment naming context(悶悄ENC)),是在EJB規范1.1以後引入的,引入這個是為了解決原來JNDI查找所引起的沖突問題,也是為了提高EJB或者J2EE應用的移植性。
在J2EE中的引用常用的有:
JDBC 數據源引用在java:comp/env/jdbc 子上下文中聲明
JMS 連接工廠在java:comp/env/jms 子上下文中聲明
JavaMail 連接工廠在java:comp/env/mail 子上下文中聲明
URL 連接工廠在 java:comp/env/url子上下文中聲明

可以通過下面的結構示意來發現這兩種描述的不同之處:
A: java:comp/env/jdbc/demoDS(虛地址) ------> 映射描述符 ------> jdbc/demoDS (實際的地址)
B: jdbc/demoDS (實際的地址)
從這種結構上來看,A的確是便於移植的。

再來看一個例子:
假如你需要獲取datasource,例如:dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/demoDS");
那麼在配置文件中進行資源映射時,在web.xml中,
<resource-ref>
<res-ref-name>jdbc/demoDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

㈨ java學生選課系統

學生選課系統的設計與實現摘要本文以一個具體的應用系統—學生選課信息系統的設計與實現來說明如何利用UML和EJB組件來設計和構建分布式軟體系統平台。UML和組件技術結合使用能提高開發效率,增加系統的易維護性。關鍵詞UML;EJB;實例1引言現在信息管理系統軟體的開發,採用組件技術可以提高效率,信息管理系統的分析設計也採用UML來進行。兩者的結合可以極大的提高開發效率,保證系統開發的易維護性。本文用UML這種設計方法和EJB這種組件技術來設計和實現一個系統。2系統分析本系統設計為學生通過網頁登陸學校網站,進行選課。下面用用例圖來說明該系統要實現的功能。2.1用例圖2.2系統總體結構圖本系統採用三層體系結構,分為表示層,事務處理層,數據存儲層。三層結構層次清晰,易維護。圖3類圖學生選課系統涉及到三個實體類學生,課程,以及學生和課程之間的一個一對多關系類。對每一個類,映射到一張表。學生類和課程類用Container-ManagedEntityBean實現,學生和課程間的一對多關系類,用Bean-ManagedPersistence的EntityBean實現。再設計一個SessionBean對學生選課過程進行控制。頁面顯示部分用JSP實現。3資料庫設計學生表對應學生實體,詳細內容如下表1學生表關聯表對應學生和課程間的一對多關系,詳細內容如下研究開發4實現4.1SessionBean的設計4.1.1定義HomeInterface4.1.2定義{//-----//這是一個基於SessionBean的Remote介面,這個SessionBean是基於//Stateful的SessionBean,用來對特定學生選課的登記過程進行操作//-----------------------------publicStringgetStudentName()throwsRemoteException;publicvoidenroll(ArrayListcourseItems)throwsRemoteExcep-tion;publicvoinenroll()throwsRemoteException;publicvoiddeleteStudent()throwsFinderException,RemoteEx-ception;publicvoiddeleteCourse(Stringcourse_id)throwsRemoteExcep-tion;}4.1.3Client獲取HomeInterface和RemoteInterface的參考方式,我們使用JNDI機制來獲取Home介面和Remote介面的對象參考。4.1.4定義回調方法4.1.5實現遠程資料庫的連接使用JNDI機制,通過資料庫的JNDI名稱javacomp/env/jdbc/StudentCourseDB來連接後台資料庫。4.1.6SessionBean方法實現//定義變數publicStudentHomesHome;publicEnrollHomeeHome;publicStringstudent_id;publicStringname;//回調方法實現publicvoidejbCreate(Stringstudent_id)throwsCreateException{try{Studentstudent=sHome.findByPrimaryKey(student_id);name=student.getName();}catch(ObjectNotFoundExceptione){thrownewCreateException(Student+student_id+notfoundinStudentTBL!);}catch(Exceptione){thrownewEJBException(e.getMessage());}this.student_id=student_id;}//商業方法實現publicvoidenroll(ArrayListcourseItems){Enrollenroll=null;try{enroll=eHome.findByPrimaryKey(student_id);}catch(Exceptione){}try{if(enroll!=null){enroll.replaceCourseItems(courseItems);}else{eHome.create(student_id,courseItems);}}catch(Exceptione){thrownewEJBException(e.getMessage());}}publicvoinenroll(){try{Enrollenroll=eHome.findByPrimaryKey(student_id);enroll.remove();}catch(Exceptione){thrownewEJBException(e.getMessage());}}//涉及到對兩張表的刪除。publicvoiddeleteStudent()throwsFinderException{try{Enrollenroll=eHome.findByPrimaryKey(student_id);Studentstudent=sHome.findByPrimaryKey(student_id);enroll.remove();student.remove();}catch(Exceptione){thrownewEJBException(e.getMessage());}}publicvoiddeleteCourse(Stringcourse_id){PreparedStatementps=null;try{getConnection();StringdeleteStatement=deletefromEnrollTBL+wherestudent_id=?andcourse_id=?;ps=con.prepareStatement(deleteStatement);ps.setString(1,student_id);ps.setString(2,course_id);ps.executeUpdate();}catch(Exceptione){thrownewEJBException(e.getMessage());}finally{try{ps.close();con.close();}catch(Exceptione){thrownewEJBException(e.getMessage());}}}4.2EntityBean的設計我們以關聯表(EnrollTBL)對應的實體Bean為例進行說明,它涉及到兩個表的一對多關系。4.2.1定義Home介面4.2.2定義{//---------------//這是一個基於EntityBean的Remote介面,這個EntityBean是基於//Bean-ManagedPersistence的EntityBean,用來對EnrollTBL表進行操作//--------------------------publicArrayListgetCourseItems()throwsRemoteException;publicStringgetStudent_id()throwsRemoteException;publicvoidreplaceCourseItems(ArrayListcourseItems)throwsRemoteException;}4.2.3變數定義publicStringstudent_id;publicArrayListcourseItems;4.2.4增加數據記錄實現publicStringejbCreate(Stringstudent_id,ArrayListcourseItems)throwsCreateException{if(courseItems==null||courseItems.size()==0){thrownewCreateException(ejbCreateexception!);}this.student_id=student_id;try{enroll(courseItems);}catch(Exceptione){thrownewEJBException(ejbCreateexception+e.getMessage());}this.courseItems=courseItems;returnstudent_id;}//根據學生ID,插入課程項。privatevoidenroll(ArrayListcourseItems)throwsSQLException{StringinsertStatement=insertintoEnrollTBLvalues(?,?);PreparedStatementps=con.prepareStatement(insertStatement);try{//------------//依次將所有的課程項目插入EnrollTBL表//------------------ps.setString(1,this.student_id);for(inti=0;i<courseItems.size();i++){Stringcourse_id=(String)courseItems.get(i);ps.setString(2,course_id);ps.executeUpdate();}}finally{ps.close();}}//根據學生ID,刪除課程項privatevoinenroll()throwsSQLException{StringdeleteStatement=deletefromEnrollTBL+wherestudent_id=?;PreparedStatementps=con.prepareStatement(deleteStatement);try{ps.setString(1,student_id);ps.executeUpdate();}finally{ps.close();}}5部署和運行5.1部署程序5.1.1部署StudentEntityBean,設置事務屬性,生成部署文件。5.1.2同樣,再部署其他三個EJB組件EnrollSessionBean,CourseEntityBean,EnrollEntityBean。5.1.3部署web組件5.1.4部署整個應用程序5.2運行啟動J2EE伺服器,啟動資料庫伺服器,打開瀏覽器。學生登錄,即可選課。6結論組件技術使得復雜的多層結構應用系統開發變得容易。採用組件技術能提高開發人員的效率,降低軟體的開發和維護成本,提高軟體的質量,控制所構建系統的復雜性。UML設計方法的使用能提高軟體設計的效率和保證設計的規范性。參考文獻[1]CraigLarman.UML和模式應用-面向對象分析與設計導論[M].北京機械工業出版社,2003.10-100.[2]劉特.J2EEEJB應用編程實例[M].北京清華大學出版社,2003.90-150.[3]GeriSchneider.用例分析技術[M].北京機械工業出版社,2003.1-98.
-----------------------------------------------
謝謝請採納:
不能發連接啊,請在網路
搜索『珍惜知識網』點進去就是了[ORDA]

㈩ tomcat的mysql數據源路徑為什麼是java:comp/env/jdbc/DataSource

java:comp/env/是一個J2EE環境的定義,代表當前J2EE應用的環境
context.lookup("java:comp/env/XXX")這種方式訪問JNDI服務
JDBC 數據源引用在java:comp/env/jdbc 子上鏈碼拍悉下文中聲明棚賀哪

閱讀全文

與javacompenv相關的資料

熱點內容
cocos2dluapdf 瀏覽:491
假的加密鎖靠譜嗎 瀏覽:176
經營聖手伺服器怎麼調 瀏覽:749
arduino手機編程 瀏覽:481
西醫pdf下載 瀏覽:29
後浪電影學院pdf 瀏覽:813
程序員怎麼做到不被人嫉妒 瀏覽:669
cmd新建文件夾md命令 瀏覽:570
php數組中的數值排序 瀏覽:832
安卓手機怎麼避免小孩內購 瀏覽:171
聯想伺服器出現黃色嘆號怎麼辦 瀏覽:991
約翰編譯器製作教程 瀏覽:130
大地pdf 瀏覽:109
pdfplus 瀏覽:577
匯編O命令 瀏覽:970
plt轉pdf 瀏覽:365
魔獸60宏命令大全 瀏覽:479
php志願者網站源碼 瀏覽:875
貿易pdf 瀏覽:497
dbug命令 瀏覽:352