Ⅰ java NetBeans高手請進!(GlassFish問題),急~~~
看提示好像是配置文件錯誤或缺失你可以重新安裝一次GlassFish
Ⅱ J2EE當前持久層設計常見問題
J2EE當前持久層設計常見問題
當前J2EE項目中,面臨的一個共同問題就是如果控制事務的並發訪問,雖然有些持久層框架已經為我們做了很多工作,但是理解原理,對於我們開發來說還是很有用處的。下面我為大家整理了J2EE當前持久層設計的常見問題,一起來看看吧:
事務並發訪問控制策略
當前J2EE項目中,面臨的一個共同問題就是如果控制事務的並發訪問,雖然有些持久層框架已經為我們做了很多工作,但是理解原理,對於我們開發來說還是很有用處的。
事務並發訪問主要可以分為兩類,分別是同一個系統事務和跨事務訪問的並發訪問控制,其中同一個系統事務可以採取樂觀鎖以及悲觀鎖策略,而跨多個系統事務時則需要樂觀離線鎖和悲觀離線鎖。在討論這四種並發訪問控制策略之前,先需要明確一下資料庫事務隔離級別的問題,ANSI標准規定了四個資料庫事務隔離級別,它們分別是:
讀取未提交(Read Uncommitted)
這是最低的事務隔離級別,讀事務不會阻塞讀事務和寫事務,寫事務也不會阻塞讀事務,但是會阻塞寫事務。這樣造成的一個結果就是當一個寫事務沒有提交的時候,讀事務照樣可以讀取,那麼造成了臟讀的現象。
讀取已提交(Read Committed)
採用此種隔離界別的.時候,寫事務就會阻塞讀事務和寫事務,但是讀事務不會阻塞讀事務和寫事務,這樣因為寫事務會阻塞讀取事務,那麼從而讀取事務就不能讀到臟數據,但是因為讀事務不會阻塞其它的事務,這樣還是會造成不可重復讀的問題。
可重復讀(Repeatable Read)
採用此種隔離級別,讀事務會阻塞寫事務,但是讀事務不會阻塞讀事務,但是寫事務會阻塞寫事務和讀事務。因為讀事務阻塞了寫事務,這樣以來就不會造成不可重復讀的問題,但是這樣還是不能避免幻影讀問題。
序列化(serializable)
此種隔離級別是最嚴格的隔離級別,如果設置成這個級別,那麼就不會出現以上所有的問題(臟讀,不可重復讀,幻影讀)。但是這樣以來會極大的影響到我們系統的性能,因此我們應該避免設置成為這種隔離級別,相反的,我們應該採用較低的隔離界別,然後再採用並發控制策略來進行事務的並發訪問控制)。
延伸閱讀:Java EE容器組成:
Web容器:包括Jsp與Servlet組件,可使用EJB中的組件完成復雜的商務邏輯;
EJB容器:包含組件EJB, EJB規范定義了一個開發和部署分布式商業邏輯的框架;
Applet容器 包含組件Applet,即可使用J2SE開發Applet;
Application Client容器:包含組件Application Client。
現在流行的Java EE容器有很多:Tomcat、JBoss、Resin、Glassfish等等。下面對這四種Java EE容器進行了一番簡單的比對。
1. Tomcat
Tomcat是Apache鼎力支持的Java Web應用伺服器,由於它優秀的穩定性以及豐富的文檔資料,廣泛的使用人群,從而在開源領域受到最廣泛的青睞。
2. Jboss
Jboss作為Java EE應用伺服器,它不但是Servlet容器,而且是EJB容器,從而受到企業級開發人員的歡迎,從而彌補了Tomcat只是一個Servlet容器的缺憾。
3. Resin
Resin也僅僅是一個Servlet容器,然而由於它優秀的運行速度,使得它在輕量級Java Web領域備受喜愛,特別是在互聯網Web服務領域,眾多知名公司都採用其作為他們的Java Web應用伺服器,譬如163、ku6等。
在商用應用伺服器里主要有:Weblogic、Websphere,其中Weblogic我也使用過很長一段時間,當時也只用其當Servlet容器,然而就在同等條件下,在性能及易用性等方面,要比Tomcat優秀很多。
4.glassfish
glassfish是Sun公司推出的Java EE伺服器(Java EE容器),一個比較活躍的開源社區,不斷的通過社區的反饋來提高其的可用性,經過glassfish v1 glassfish v2 到今天的glassfish v3 ,它已經走向成熟。Glassfish是一個免費、開放源代碼的應用服務,它實現了Java EE 5,Java EE 5 平台包括了以下最新技術:EJB 3.0、JSF 1.2、Servlet 2.5、
JSP 2.1、JAX-WS 2.0、JAXB 2.0、 Java Persistence 1.0、Common Annonations 1.0、StAX 1.0等。
支持集群,通過內存中會話狀態復制,增強了部署體系結構的可用性與可伸縮性,它對集群有著很好的支持,可以簡單到通過添加機器,就可輕松的提高網站的帶負載能力,在解析能力方面,它對html的吞吐能力與apache伺服器不分上下,就是tomcat所不能比的,支持目錄部署,熱部署,解決了tomcat對熱部署能力的缺陷。
在版本方面做的更加人性化,有開發時用的簡化版,專門用於部署web項目的版本,還要完全符合j2ee標準的版本。
;Ⅲ GlassFish 根目錄在哪
你的GlassFish應該是在WINDOWS環境下安裝的吧。根目錄是指C、D、E這些盤符目錄,舉一個例子:下載下來的glassfish是一個jar包,例如glassfish-installer-v2ur1-b09d-windows-ml.jar,下載後放在某個目錄下,例如D盤根目錄下(就是雙擊打開我的電腦後再雙擊打開D盤,不進任何文件夾的那個地方),在設置好JAVA相關的環境變數後轉到命令行狀態,然後執行以下命令: java -Xmx256m -jar glassfish-installer-v2ur1-b09d-windows-ml.jar,此步驟進行jar文件解壓縮操作,解壓縮完畢後在當前目錄下生成一個glassfish目錄,例如D:\glassfish
Ⅳ 如何在Glassfish上部署web應用
一,開發工具的選擇
Java
EE,或者是JSF應用開發,Netbeans和Glassfish是最好的搭配選擇,前者對於後者有非常好的支持。但要注意netbeans的版
本,5.5是不支持glassfish v2的。而netbeans6還很不穩定,所以現階段最好的版本是netbeans5.5.1。
關於Netbeans下開發Java EE應用,官方有文檔介紹:Java EE 應用程序相關教程,這里主要介紹一下生產環境中web應用在glassfish下的部署和配置
二,下載安裝Glassfish V2
1)下載Glassfish v2並解壓縮。下載完畢後,執行以下命令:
java -Xmx256m -jar glassfish_filename.jar
點擊接受彈出的協議後(這里sun比較無聊啊,所有軟體都是,明明一個普通壓縮包,非壓成jar讓你看一下協議才行),glassfish會解壓到一個名為glassfish的目錄里。
2) 修改埠
glassfish是通過ant來安裝的,安裝腳本在setup.xml下,在裡面可以修改一些配置,比如埠等等。在setup.xml中主要有以下設置:
xml 代碼
﹤propertyname="domain.name"value="domain1"/﹥域名
﹤propertyname="instance.name"value="server"/﹥
﹤propertyname="admin.user"value="admin"/﹥管理員用戶名
﹤propertyname="admin.password"value="adminadmin"/﹥管理員密碼
﹤propertyname="admin.port"value="4848"/﹥管理平台埠
﹤propertyname="instance.port"value="8080"/﹥實例埠,也就是通過這個埠來訪問web應用
﹤propertyname="orb.port"value="3700"/﹥
﹤propertyname="imq.port"value="7676"/﹥
﹤propertyname="https.port"value="8181"/﹥https埠
根據需要修改以上設置,執行:ant -f setup.xml,如果系統沒有安裝ant,在glassfish\lib\ant下有一個ant1.6版。安裝結束後,進入glassfish/bin下,在控制台執行下面命令啟動glassfish:
asadmin start-domain domain1 // domain1是上面設置的domain.name,系統默認domain1
啟動結束後,進入http://localhost:8080測試是否已經正確啟動
asadmin stop-domain domain1 //停止伺服器
三,部署web應用
有三種方式,可以直接將war或ear放在glassfish/domain/autodeploy目錄下,glassfish啟動後會自動部署。
第二是通過命令asadmin deploy部署應用, 另外 asadmin updeploy 卸載應用。通過asadmin deploy
--help 和 asadmin undeploy --help 獲得更多幫助。
第三是通過我推薦的方式,通過glassfish管理控制台進入http://localhost:4848,默認用戶admin,密碼adminadmin。打開後看到如下界面:
進入左側菜單, Applications -> Web
Applications,在列表中可以看到已經部署的應用,如要部署新應用,點擊deploy按鈕,選擇本地的war,設定好context
path,點擊OK,無論部署成功或失敗,都會看到相應的信息提示
註:通過這種方式,可以進行遠程部署,只要打開目標伺服器上的管理控制台,選擇一個本地的war,就可以快速的部署到遠程伺服器上,非常方便,這也是推薦的原因。對於EJB應用,在Enterprise Applications下部署,方法同上
四,配置jdbc數據源
對於Java EE應用,經常需要事先設定數據源,否則部署時會報javax.naming.NameNotFoundException
配置方法是進入Resources -> JDBC,會看到JDBC Resources和Connection pools
先設定Connection
pools,以MySql為例,點擊New,命名為MySqlPools,ResourceType選擇
javax.sql.ConnectionPoolDataSource,Database
vendor肯定選擇mysql,然後點擊next進入下一頁面。最主要的是設定Additional
Properties,也就是jdbc連接配置,設定好url, user,
password,其他的保持默認值,也可以根據需要自己添加屬性。設定好連接池後,接著設定JDBC
Resources,新建一個JDBC,名稱要和你的web應用里的持久化單元採用的數據源的名稱一致。
然後再次部署web應用,就會正常運行了。
Ⅳ 高分求解,我是白菜,Glassfish,Oracle,JAVA(J2EE)三者互相是什麼關系
Glassfish是一個伺服器容器。是用來發布你的web項目的。
Oracle是資料庫
JAVA是一種開發語言,J2EE是JAVA企業級開發。
具體的關系 就是J2EE項目用要用資料庫,J2EE的發布要用到Glassfish
Ⅵ 裝了一個GlassFish v3的Java,用他的jdk配置eclipse的tomcat啊
java 虛擬機地址
Ⅶ 關於Glassfish 集群 設置問題
很多組織機構慢慢的在不同的伺服器和地點部署SQL Server資料庫——為各種應用和目的——開始考慮通過SQL Server集群的方式來合並。
將SQL Server實例和資料庫合並到一個中心的地點可以減低成本,尤其是維護和軟硬體許可證。此外,在合並之後,可以減低所需機器的數量,這些機器就可以用於備用。
當尋找一個備用,比如高可用性的環境,企業常常決定部署Microsoft的集群架構。我常常被問到小的集群(由較少的節點組成)SQL Server實例和作為中心解決方案的大的集群哪一種更好。在我們比較了這兩個集群架構之後,我讓你們自己做決定。
Ⅷ 使用netbeans6.9.1創建的java web應用程序,使用glassfish3伺服器,出現中文亂碼,英文正常。
你可以這樣試試:
在你的腳本中加入
header('Content-Type: text/html; charset=UTF-8');
Ⅸ glassfish 經常彈出java.lang.IllegalStateException
現在用glassfish做應用伺服器的太少了,建議改用tomcat吧。glassfish早就被淘汰棄用了。