Weblogic8.X安裝及連接池配置指南
最近忙了兩天的weblogic的配置和使用,總覺(jué)得現(xiàn)在網(wǎng)上相應(yīng)的資源很少,要不就是太高太深,初學(xué)者往往很難一下子入手。現(xiàn)整理出一篇基礎(chǔ)性的,依照step by step的原則的小品性文章,希望能對(duì)大家有點(diǎn)把幫助。
本文以weblogic 8.12 中文版為例,將配合貼圖講解安裝、配置過(guò)程。
一、Weblogic安裝開(kāi)始:
1.1 讓人敬佩的bea公司:
提到weblogic,不得不說(shuō)bea公司。也許大家沒(méi)有留意,bea公司是一個(gè)才1995年才創(chuàng)立的企業(yè),可是這個(gè)比我們小一兩個(gè)時(shí)代的小年輕,卻是歷史上最快實(shí)現(xiàn)年?duì)I業(yè)額達(dá)到10億美元的軟件公司,現(xiàn)在號(hào)稱是全球第6大獨(dú)立軟件公司,確實(shí)讓人很汗~。
1.2 何處有Webogic?
去網(wǎng)上找了一下,weblogic8.12 + sp2 中文版可以在9iv網(wǎng)站上找到下載。
地址是:http://www.9iv.com/down/down.asp?id=855&no=3
1.3 Weblogic安裝其實(shí)很傻瓜:
1.3.1 總的來(lái)說(shuō),weblogic安裝過(guò)程,抓住兩個(gè)環(huán)節(jié)就ok:
◎bea主目錄:這是weblogic基礎(chǔ)工具程序的主目錄;
◎產(chǎn)品安裝目錄:這是weblogic產(chǎn)品的安裝目錄
1.3.2 點(diǎn)擊開(kāi)始安裝后,漫長(zhǎng)的解壓之后,開(kāi)始出現(xiàn)安裝界面,結(jié)合我的情況,設(shè)定bea
主目錄為d:\bea,其它都取默認(rèn)值,一路next,BEA_installer會(huì)幫你全盤(pán)搞定,
完畢后,點(diǎn)擊完成結(jié)束。
安裝完成后,就可以開(kāi)始著手部署J2EE項(xiàng)目了。
二、開(kāi)始部署J2EE web項(xiàng)目
Web項(xiàng)目的部署采用Configuration Wizard工具。依次點(diǎn)擊“開(kāi)始”->“BEA WebLogic Platform
8.1”->“Configuration Wizard”,啟動(dòng)”BEA WebLogic Configuration Wizard”。
2.1 新建weblogic domain
選擇”新建weblogic配置”,
然后”下一步”,在”模板”選擇”base weblogic server domain”,
然后”下一步”,沒(méi)有特別的需要就不修改默認(rèn)選擇,然后”下一步”,在這個(gè)界面上輸入用戶名、密碼(如填寫(xiě)用戶wangnewton,密碼wangnewton)和創(chuàng)建這個(gè)服務(wù)的描述(請(qǐng)記住這個(gè)用戶密碼它是啟動(dòng)這個(gè)服務(wù)和進(jìn)入服務(wù)控制臺(tái)的帳號(hào))
然后”下一步”,選擇jdk的版本,然后”下一步”,在這個(gè)界面你可以修改創(chuàng)建服務(wù)的目錄和配置名稱,然后按”創(chuàng)建”開(kāi)始創(chuàng)建。
點(diǎn)擊完成結(jié)束。
2.2 創(chuàng)建應(yīng)用目錄:創(chuàng)建應(yīng)用目錄有兩種方式分別介紹如下
2.2.1方法一:繼續(xù)采用Configuration Wizard 創(chuàng)建
這次選擇”extend and existing weblogic configuration(擴(kuò)展weblogic配置)”,
然后“下一步”,選擇前面配置的weblogic配置目錄mydomain,然后“下一步”,
在”Configuration Extensions”中勾選”DefaultWebApp”,
然后以下取默認(rèn)值一路”下一步”直到”導(dǎo)入”就OK了。
默認(rèn)應(yīng)用目錄一般在D:\bea\user_projects\applications\mydomain\DefaultWebApp(注:d:為我PC機(jī)上安裝weblogic的盤(pán)符,讀者根據(jù)安裝目錄進(jìn)行查找)。
測(cè)試:?jiǎn)?dòng)weblogic服務(wù),然后輸入http://localhost:7001就可以看到介紹性頁(yè)面了。
2.2.2方法二:使用控制臺(tái)創(chuàng)建應(yīng)用目錄
使用這個(gè)方法最好先要有一個(gè)可以發(fā)布的web應(yīng)用,比如大家做過(guò)的基于tomcat的項(xiàng)目。沒(méi)有的話至少要有webapp\WEB-INF\web.xml文件,web.xml文件類似于:
webapp
|__WEB-INF/web.xml
web.xml內(nèi)容一般是:
<?xml version="1.0" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</web-app>
創(chuàng)建好如上的文件結(jié)構(gòu)和web.xml后,啟動(dòng)weblogic服務(wù),完成后在瀏覽器中輸入http://127.0.0.1:7001/console
在登錄界面輸入你創(chuàng)建weblogic服務(wù)時(shí)的用戶密碼(wangnewton)。然后sign in,在下面的頁(yè)面中選擇“Web Application Modules”
點(diǎn)擊后進(jìn)入該界面,點(diǎn)擊Deploy a new Web Application Module...
在“Location”下選擇你剛才創(chuàng)建的appweb(注意這個(gè)目錄一定要有WEB-INF目錄,并且在WEB-INF目錄下一定要有web.xml文件,否則不能夠創(chuàng)建應(yīng)用目錄)。選擇后,點(diǎn)擊”target module”,
返回,可以看到當(dāng)前weblogic服務(wù)中依成功創(chuàng)建的應(yīng)用目錄了。然后再創(chuàng)建一個(gè)index.html文檔放在appweb目錄下,就完成了應(yīng)用目錄的創(chuàng)建。
測(cè)試:?jiǎn)?dòng)weblogic服務(wù),然后輸入http://127.0.0.1:7001/webapp/index.html就可以看到自己設(shè)置的頁(yè)面了。
PS:相對(duì)來(lái)說(shuō),方法二是實(shí)際項(xiàng)目中使用最多的一種配置方法。
繼續(xù)PS:如何設(shè)置項(xiàng)目為默認(rèn)啟動(dòng)路徑?
對(duì)于剛才創(chuàng)建的應(yīng)用目錄,總要通過(guò)http://127.0.0.1:7001/webapp/index.html,能否直接設(shè)置成通過(guò)http://127.0.0.1:7001/index.html可以訪問(wèn)的方式呢?
方法是在webapp\WEB-INF下新建一個(gè)weblogic.xml文件,
webapp
|__WEB-INF/weblogic.xml
weblogic.xml內(nèi)容一般是:
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
<context-root>/</context-root>
</weblogic-web-app>
三、weblogic 連接池的配置
實(shí)例背景:SQL-SERVER 2000的數(shù)據(jù)庫(kù) + JDBC3.0
3.1 配置連接池
進(jìn)入控制臺(tái)(console) 可以看到該界面 ,然后點(diǎn)擊 Connetion Pools
點(diǎn)擊后進(jìn)入該界面,點(diǎn)擊configure a new JDBC Conneciton Pool
點(diǎn)擊后顯示該界面 因?yàn)槭鞘褂肧QL-SERVER 2000 所以選擇MS SQL Server
選擇后,選擇 MicroSoft’s MS SQL Server Driver (type) Version 。。。[倒數(shù)第三個(gè)^-^]然后點(diǎn)擊Continue
按頁(yè)面要求填入相關(guān)信息
此步驟完成后,進(jìn)入該頁(yè)面
點(diǎn)擊 Test Driver Configuration ,如果是成功顯示該頁(yè)
點(diǎn)擊Create and deploy,
3.2 配置數(shù)據(jù)源
進(jìn)入控制臺(tái),點(diǎn)擊date source。。。
點(diǎn)擊后顯示該頁(yè) 點(diǎn)擊 configure a new JDBC Data Source
點(diǎn)擊后進(jìn)入該頁(yè)
以下步驟都是默認(rèn)選擇后顯示
由此,數(shù)據(jù)源就配置成功了,記住這里的JNDIName配置為MyJNDI,稍后將會(huì)在程序中被使用。
<也可以通過(guò)weblogic的配置向?qū)?lái)配置weblogic的連接池信息>
四、weblogic 連接池測(cè)試程序
為了方便,采用一個(gè)簡(jiǎn)單jsp程序進(jìn)行連接池的測(cè)試,連接池使用起來(lái)不但可以提高系統(tǒng)吞吐量,而且連接程序也是很簡(jiǎn)單的。一般大家手頭上都會(huì)有專業(yè)的數(shù)據(jù)庫(kù)連接組件,把這個(gè)組件修改成為weblogic連接池的組件也是很簡(jiǎn)單的,只需要執(zhí)行簡(jiǎn)單幾行代碼替換就ok了。但作為新手,可以通過(guò)這個(gè)jsp測(cè)試剛才建立的連接池設(shè)置。
<%@ page contentType="text/html;charset=GBK" %>
<%@ page import= "java.sql.* " %>
<%@ page import= "javax.sql.* " %>
<%@ page import= "javax.naming.* "%>
<HTML>
<HEAD>
<TITLE> </TITLE>
<META NAME="Generator" CONTENT="EditPlus2.11">
</HEAD>
<BODY>
<%
// 從weblogic 8 文檔抄來(lái)
Context ctx = null;
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,"t3://127.0.0.1:7001");
// ht.put(Context.SECURITY_PRINCIPAL, "admin");
// ht.put(Context.SECURITY_CREDENTIALS, "11111111"); Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
ctx = new InitialContext(ht);
DataSource ds = (DataSource)ctx.lookup ("MyJNDI");
conn = ds.getConnection();
stmt = conn.createStatement();
stmt.execute("select * from accounts");
rs = stmt.getResultSet();
while ( rs.next()){
out.println( rs.getString(1)+"___");
out.println( rs.getString(2)+"___");
out.println( rs.getString(3)+"<br>");
}
stmt.close();
stmt=null;
conn.close(); conn=null;
}catch (Exception e) {
out.println("錯(cuò)誤 !! ERR !" );
}
finally {
try {
ctx.close();
} catch (Exception e) {
out.println("ctx ERR !" ); }
try {
if (rs != null) rs.close();
} catch (Exception e) {
out.println("rs ERR !" ); }
try {
if (stmt != null) stmt.close();
} catch (Exception e) {
out.println("stmt ERR !" ); }
try {
if (conn != null) conn.close();
} catch (Exception e) {
out.println("conn ERR !" ); } }
%>
</BODY>
</HTML>