




已閱讀5頁,還剩17頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
JSP亂碼解決思路總結JAVA學習 2009-10-24 08:55:47 閱讀127 評論0 字號:大中小訂閱 對于Java由于默認的編碼方式是 UNICODE,所以用中文也易出問題,常見的解決是String s2 = new String(s1.getBytes(ISO-8859-1),GBK);前三種方法是我比較常用的方法,別人的經驗告訴我:通常get方法通過改server.xml解決,post方法通過過濾器或者設置字符集解決,呵呵,不知道是否可行!1、utf8解決JSP中文亂碼問題一般說來在每個頁面的開始處,加入:% page language=java contentType=text/html; charset=UTF-8pageEncoding=UTF-8%request.setCharacterEncoding(UTF-8);%charset=UTF-8 的作用是指定JSP向客戶端輸出的編碼方式為UTF-8pageEncoding=UTF-8 為了讓JSP引擎能正確地解碼含有中文字符的JSP頁面,這在LINUX中很有效request.setCharacterEncoding(UTF-8); 是對請求進行了中文編碼有時,這樣仍不能解決問題,還需要這樣處理一下:String msg = request.getParameter(message);String str=new String(msg.getBytes(ISO-8859-1),UTF-8);out.println(st);2、Tomcat 5.5 中文亂碼(利用tomcat已經寫好的字符集過濾器)1)只要把%TOMCAT安裝目錄%/ webappsservlets-examplesWEB-INFclassesfiltersSetCharacterEncodingFilter.class 文件拷到你的webapp目錄/filters下,如果沒有filters目錄,就創建一個。2)在你的web.xml里加入如下幾行:filterfilter-nameSet Character Encoding/filter-namefilter-classfilters.SetCharacterEncodingFilter/filter-classinit-paramparam-nameencoding/param-nameparam-valueGBK/param-value/init-param/filterfilter-mappingfilter-nameSet Character Encoding/filter-nameurl-pattern/*/url-pattern/filter-mapping3、 get方式的解決辦法(修改tomcat server.xml,但是不建議使用的說)1) 打開tomcat的server.xml文件,找到區塊,加入如下一行:URIEncoding=GBK完整的應如下:Connectorport=80 maxThreads=150 minSpareThreads=25 maxSpareThreads=75enableLookups=false redirectPort=8443 acceptCount=100debug=0 connectionTimeout=20000disableUploadTimeout=trueURIEncoding=GBK/4、xmlHttpRequest中文問題頁面jsp用的GBK編碼% page contentType=text/html; charset=GBK%javascript部分function addFracasReport() var url=controler?actionId=0_06_03_01&actionFlag=0010;var urlmsg=&reportId=+fracasReport1.textReportId.value; /故障報告表編號var xmlHttp=Common.createXMLHttpRequest();xmlHttp.onreadystatechange = Common.getReadyStateHandler(xmlHttp, eval(turnAnalyPage);xmlHttp.open(POST,url,true);xmlHttp.setRequestHeader( Content-Type , application/x-www-form-urlencoded);xmlHttp.send(urlmsg);后臺java中獲得的reportId是亂碼,不知道該怎么轉,主要是不知道xmlHttp.send(urlmsg); 以后是什么編碼?在后面用java來轉,試了幾種,都沒有成功,其中有:public static String UTF_8ToGBK(String str) try return new String(str.getBytes(UTF-8), GBK); catch (Exception ex) return null;public static String UTF8ToGBK(String str) try return new String(str.getBytes(UTF-16BE), GBK); catch (Exception ex) return null;public static String GBK(String str) try return new String(str.getBytes(GBK),GBK); catch (Exception ex) return null;public static String getStr(String str) try String temp_p = str;String temp = new String(temp_p.getBytes(ISO8859_1), GBK);temp = sqlStrchop(temp);return temp; catch (Exception e) return null;5、Solaris下Servlet編程的中文問題及解決辦法在使用Java開發Internet上的一個應用系統時,發現在Windows下調試完全正常的Servlet,上傳到Solaris 服務器上,運行卻出現故障-返回的網頁不能顯示中文,應為中文的信息全為亂碼;用中文信息做關鍵字,不能正確檢索數據庫。后來采用加入檢查代碼等方法探知故障原因如下:顯示亂碼主要是因為通過類 HttpServletResponse提供的方法setContentType 無法改變返回給客戶的數據的編碼方式,正確的編碼方式應為GB2312或者GBK,而事實上為缺省的ISO8859-1。無法檢索中文信息則是因為,客戶提交的中文信息經瀏覽器編碼到達服務器后,Servlet無法將其正確解碼。舉例說明顯示亂碼解決方法Servlet 一般通常做法如下:public class ZldTestServlet extends HttpServlet public void doGet (HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException/在使用 Writer向瀏覽器返回數據前,設置 content-type header ,在這里設置相應的字符集gb2312response.setContentType(text/html; charset=gb2312);PrintWriter out = response.getWriter(); /*/ 正式返回數據out.println(htmlheadtitleServlet test/title/head );out.println(這是一個測試頁!);out.println(/body/html);out.close();.解決頁面顯示亂碼問題,需將*處代碼換成如下內容:PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(),gb2312);Solaris中文信息檢索問題的解決瀏覽器利用表單向服務器提交信息時,一般采用x-www-form-urlencoded 的MIME格式對數據進行編碼。如果使用get方法,參數名稱和參數值經編碼后附加在URL后,在Java中稱作查詢串(query string)。在Servlet程序中,如果采用ServletRequest的方法getParameter取得參數值,在Solaris環境下,對漢字卻不能正確解碼。因而無法正確檢索數據庫。在Java 1.2的包-中提供了URLEncode和URLDecode類。類URLEncode提供了按x-www-form-urlencoded格式對給定串進行轉換的方法。類URLEncode則提供了逆方法。6、Common Mail亂碼問題common mail是一個小而方便的mail包,他實現了對Java Mail的封裝,使用起來十分的方便,但是我在使用他的時候發現,使用純文本的內容發送,結果是亂碼,代碼如下:public class TestCommonMail public static void main(String args) throws EmailException, MessagingException SimpleEmail email = new SimpleEmail();email.setCharset(GB2312);email.setHostName();email.setSubject(test);email.addTo();email.setFrom();email.setMsg(我的測試);email.setAuthentication(test, test);email.send();分析了一下commons mail的源碼找到了原因。源碼如下:public class SimpleEmail extends Emailpublic Email setMsg(String msg) throws EmailException, MessagingExceptionif (EmailUtils.isEmpty(msg)throw new EmailException(Invalid message supplied);setContent(msg, TEXT_PLAIN);return this;Email代碼片段public void setContent(Object aObject, String aContentType)this.content = aObject;if (EmailUtils.isEmpty(aContentType)this.contentType = null;else/ set the content typethis.contentType = aContentType;/ set the charset if the input was properly formedString strMarker = ; charset=;int charsetPos = aContentType.toLowerCase().indexOf(strMarker);if (charsetPos != -1)/ find the next space (after the marker)charsetPos += strMarker.length();int intCharsetEnd =aContentType.toLowerCase().indexOf( , charsetPos);if (intCharsetEnd != -1)this.charset =aContentType.substring(charsetPos, intCharsetEnd);elsethis.charset = aContentType.substring(charsetPos);email.send(); 的send方法將調用public void buildMimeMessage() throws EmailExceptiontrythis.getMailSession();this.message = new MimeMessage(this.session);if (EmailUtils.isNotEmpty(this.subject)if (EmailUtils.isNotEmpty(this.charset)this.message.setSubject(this.subject, this.charset);elsethis.message.setSubject(this.subject);/ =/ Start of replacement codeif (this.content != null)this.message.setContent(this.content, this.contentType);/ end of replacement code/ =else if (this.emailBody != null)this.message.setContent(this.emailBody);elsethis.message.setContent(, Email.TEXT_PLAIN);if (this.fromAddress != null)this.message.setFrom(this.fromAddress);elsethrow new EmailException(Sender address required);if (this.toList.size() + this.ccList.size() + this.bccList.size() = 0)throw new EmailException(At least one receiver address required);if (this.toList.size() 0)this.message.setRecipients(Message.RecipientType.TO,this.toInternetAddressArray(this.toList);if (this.ccList.size() 0)this.message.setRecipients(Message.RecipientType.CC,this.toInternetAddressArray(this.ccList);if (this.bccList.size() 0)this.message.setRecipients(Message.RecipientType.BCC,this.toInternetAddressArray(this.bccList);if (this.replyList.size() 0)this.message.setReplyTo(this.toInternetAddressArray(this.replyList);if (this.headers.size() 0)Iterator iterHeaderKeys = this.headers.keySet().iterator();while (iterHeaderKeys.hasNext()String name = (String) iterHeaderKeys.next();String value = (String) headers.get(name);this.message.addHeader(name, value);if (this.message.getSentDate() = null)this.message.setSentDate(getSentDate();if (this.popBeforeSmtp)Store store = session.getStore(pop3);store.connect(this.popHost, this.popUsername, this.popPassword);catch (MessagingException me)throw new EmailException(me);由代碼可以知道純文本方式最終調用了Java Mail的message.setContent(this.content, this.contentType);content是內容contentType是類型,如text/plain,(我們可以試試直接用Java mail發郵件,設置文本內容不使用setText方法,也使用setContent(測試, text/plain)方式,你可以看到內容也是亂碼)關鍵就在于text/plain,我們改成text/plain; charset=gb2312,ok亂碼解決了。在commons mail我們看SimpleEmail 類中setMsg方法調用的就是 setContent(msg, TEXT_PLAIN); 我們只需要將Email類中的常量TEXT_PLAIN修改一下加入 charset=你的字符集 ,重新打包jar,這樣就可以了7、toad的字符集的設置與oracle的安裝oracle數據庫服務器的安裝一般是中文字符集,有時安裝在不同的平臺下,設置為ISO編碼,toad是oracle開發的最好工具,不是我說的,可是中文環境下安裝的toad,打開英文字符的oracle時,中文全是亂碼。必須進行設置環境變量-系統變量加NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK或NLS_lANG=AMERICAN_AMERICA.WE8ISO8859P1AMERICAN_AMERICA.WE8MSWIN1252或者打開注冊表,點擊HKEY_LOCAL_MATHINE再點擊Software,再點擊ORACLE在點擊HOME(ORACLE所在目錄)在注冊表的右半面有NLS_LANG,雙擊它,將你想要的覆蓋掉原來的就可以了最好記下舊的,以便可以改回來。connect sys/chang_on_installupdate props$set value$=ZHS16CGB231280where name=NLS_CHARACTERSET;commit;這樣就OK了8、如何解決GWT(google web toolkit)中文的問題GWT 中文亂碼解決方法1.把你要顯示的中文測試字符串輸入到一個文件,如:1.txt2.進入命令行,進入1.txt所在的目錄,敲入以下命令:native2ascii.exe 1.txt 2.txt 回車。這樣就生成了另外一個文件2.txt。3.2.txt的內容如下:u6d4bu8bd5u5b57u7b26u4e324.然后用上面的編碼,在gwt中使用,就可以了.9、xmlHttp得到的網頁怎么是亂碼?(1)在服務器端使用WebRequest而不是xmlHttp(2) 將StreamReader sr = new StreamReader(stream);對于簡體中文改成:StreamReader sr = new StreamReader(stream , Encoding.Default );對于utf-8改成:StreamReader sr = new StreamReader(stream , Encoding.UTF8 );當然,Encoding枚舉還有很多其他的成員,對于不同的編碼content-type可以有選擇的應用(3)后來我發現無論是content-type是gb2312還是utf-8,用StreamReader sr = new StreamReader(stream , Encoding.Default );都可以返回正常的漢字,所以統一的改成Encoding.Default-最后,在服務器端從一個url獲得網頁的源代碼的代碼如下:/ summary/ post一個指定的url,獲得網頁的源代碼(用WebRequest實現)/ /summary/ param name=url/param/ returns/ 如果請求失敗,返回null/ 如果請求成功,返回網頁的源代碼/ /returnspublic static string GetContentFromUrl2( string url )/變量定義string respstr;WebRequest myWebRequest=WebRequest.Create(url);/ myWebRequest.PreAuthenticate=true;/ NetworkCredential networkCredential=new NetworkCredential( username , password , domain );/ myWebRequest.Credentials=networkCredential;/ Assign the response object of WebRequest to a WebResponse variable.WebResponse myWebResponse=myWebRequest.GetResponse();System.IO.Stream stream = myWebResponse.GetResponseStream();StreamReader sr = new StreamReader(stream , Encoding.Default );/以字符串形式讀取數據流respstr = sr.ReadToEnd();sr.Close();return respstr;Java開發者需堅守的十大基本準則有許多標準和實踐準則可適用于Java開發者,但此處要說的,是每個Java開發者需堅守的基本原則。 一、為代碼加注釋。雖然每個人都知道這點,但有時卻不自覺忘了履行,今天你“忘了”加注釋了嗎?雖然注釋對程序的功能沒什么“貢獻”,但過一段時間,比如說兩星期之后或者更長,回過頭來看看自己的代碼,說不定已經記不住它是干什么的了。如果這些代碼是你個人的,那還算是走運了,不幸的是,當然了,大多數時候都是別人的不幸,很多時候大家都是在為公司寫代碼,寫代碼的人也許早已經離開了公司,但別忘了一句古話,有來有往嘛,為他人,也為我們自己,請為你的代碼加上注釋。 二、不要讓事情復雜化。程序員有時候總是對簡單問題想出復雜的解決方案,比如說,在只有五個用戶的程序中引入EJB、對程序實現了并不需要的框架(framework),之類的還有屬性文件、面向對象解決方案、多線程等等。為什么要這樣做呢?也許我們并不知道是否這樣會更好,但這樣做也許可以學到一些新東西,或者讓自己更感興趣一些。如果是不知道為什么這樣做,建議多請教經驗豐富的程序員,如果是為了個人的目的,麻煩讓自己更專業一點。 三、始終牢記“少即是好(Less is more)并不總是對的”。代碼效率雖然很重要,但在許多解決方案中,編寫更少的代碼并不能改善這些代碼的效率,請看下面這個簡單的例子:if(newStatusCode.equals(SD) & (sellOffDate = null | todayDpareTo(sellOffDate)0) | (newStatusCode.equals(OBS) & (OBSDate = null | todayDpareTo(OBSDate)0) newStatusCode = NYP; 能看明白if條件語句是干什么的嗎?能想出來是誰寫的這段代碼嗎?如果把它分成兩段獨立的if語句,是不是更容易理解呢,下面是修改后的代碼:if(newStatusCode.equals(SD) & (sellOffDate = null | todayDpareTo(sellOffDate)0) newStatusCode = NYP; else if(newStatusCode.equals(OBS) & (OBSDate = null | todayDpareTo(OBSDate)0) newStatusCode = NYP; 是不是讀起來容易多了呢,在此只是多加了一個if和兩個花括號,但代碼的可讀性與可理解性就一下子提高了一大截。 四、請不要硬編碼。開發者經常有意“忘記”或忽略掉這點,因為有些時候開發日程逼得實在太緊。其實,多寫一行定義靜態變量的代碼能花多少時間呢?public class A public static final String S_CONSTANT_ABC = ABC; public boolean methodA(String sParam1) if (A.S_CONSTANT_ABC.equalsIgnoreCase(sParam1) return true; return false; 現在,每次需要將“ABC”與其他變量進行比較時,不必記住實際代碼,直接引用A.S_CONSTANT_ABC就行了,而且在今后需要進行修改時,也可在一處修改,不會翻遍整個源代碼逐個修改了。五、不要“創造”自己的框架(framework)。確切來說,有數以千計的各種框架存在,而且大多數是開源的,這些框架都是優秀的解決方案,可用于日常程序開發中,我們只需使用這些框架的最新版本就行了,至少表面上要跟上形勢吧。被大家廣為接受的最為明顯的一個例子就是Struts了,這個開源web框架非常適合用在基于web的應用程序中。是不是想開發出自己的Struts呢,還是省點力氣吧,回頭看看第二條不要讓事情復雜化。另外,如果正在開發的程序只有3個窗口,就不要使用Struts了,對這種程序來說,不需要那么多的“控制”。 六、不要使用println及字符串連接。通常為了調試方便,開發者喜歡在可能的所有地方都加上System.out.println,也許還會提醒自己回過頭來再來刪除,但有些時候,經常會忘了刪除或者不愿意刪除它們。既然使用System.out.println是為了測試,那么測試完之后,為什么還要留著它們呢,因為在刪除時,很可能會刪除掉真正有用的代碼,所以不能低估System.out.println危害啊,請看下面的代碼:public class BadCode public static void calculationWithPrint() double someValue = 0D; for (int i = 0; i 10000; i+) System.out.println(someValue = someValue + i); public static void calculationWithOutPrint() double someValue = 0D; for (int i = 0; i 10000; i+) someValue = someValue + i; public static void main(String n) BadCode.calculationWithPrint(); BadCode.calculationWithOutPrint(); 從測試中可以發現,方法calculationWithOutPrint()執行用了0.001204秒,作為對比,方法calculationWithPrint()執行可是用了10.52秒。要避免浪費CPU時間,最好的方法是引入像如下的包裝方法:public class BadCode public static final int DEBUG_MODE = 1; public static final int PRODUCTION_MODE = 2; public static void calculationWithPrint(int logMode) double someValue = 0D; for (int i = 0; i BadCode.DEBUG_MODE) return; System.out.println(value); public static void main(String n) BadCode.calculationWithPrint(BadCode.PRODUCTION_MODE); 另外,字符串連接也是浪費CPU時間的一個大頭,請看下面的示例代碼:public static void concatenateStrings(String startingString) for (int i = 0; i 20; i+) startingString = startingString + startingString; public static void concatenateStringsUsingStringBuffer(String startingString) StringBuffer sb = new StringBuffer(); sb.append(startingString); for (int i = 0; i 20; i+) sb.append(sb.toString(); 在測試中可發現,使用StringBuffer的方法只用了0.01秒執行完畢,而使用連接的方法則用了0.08秒,選擇顯而易見了。七、多關注GUI(用戶界面)。再三強調,GUI對商業客戶來說,與程序的功能及效率同等重要,GUI是一個成功程序的最基本部分,而很多IT經理往往都沒注意到GUI的重要性。在現實生活中,許多公司可能為了節省開支,沒有雇用那些有著設計“用戶友好”界面豐富經驗的網頁設計者,此時Java開發者只能依賴他們自身的HTML基本功及在此領域有限的知識,結果,很多開發出來的程序都是“計算機友好”甚于“用戶友好”。很少有開發者同時精通軟件開發及GUI設計,如果你在公司“不幸”被分配負責程序界面,就應該遵守下面三條原則:1、 不要再發明一次輪子,即不做無用功?,F有的程序可能會有類似的界面需求。2、 先創建一個原型。這是非常重要一步,用戶一般想看到他們將使用的東西,而且可以先利用這個原型征求用戶的意見,再慢慢修改成用戶想要的樣子。3、 學會換位思考。換句話來說,就是從用戶的角度來審查程序的需求。舉例來講,一個匯總的窗口可以跨頁或者不跨頁,作為一個軟件開發者,可能會傾向于不跨頁,因為這樣簡單一些。但是,從用戶的角度來看,可能不希望看到上百行數據都擠在同一頁上。 八、文檔需求不放松。每個商業需求都必須記錄在案,這可能聽上去像童話,似乎在現實生活中很難實現。而我們要做的是,不管開發時間多緊迫,不管最終期限多臨近,對每個商業需求都必須記錄在案。 九、單元測試、單元測試、單元測試。關于什么是單元測試的最好方法,在此不便細說,只是強調,單元測試一定要完成,這也是編程中最基本的原則。當然了,如果有人幫你做單元測試自然是最好,如果沒有,就自己來做吧,當創建一個單元測試計劃時,請遵守以下三條最基本的原則:1、 先于編寫類代碼之前編寫單元測試。2、 記錄單元測試中的代碼注釋。3、 測試所有執行關鍵功能的公有方法,這里不是指set和get方法,除非它們是以自己獨特方式執行set和get方法。 十、質量,而不是數量。有些時候因為產品問題、期限緊迫、或一些預料之外的事情,導致常常不能按時下班,但一般而言,公司不會因為雇員經常加班而對之表揚和獎勵,公司只看重高質量的工作。如果遵守了前九條原則,你會發現自己寫出的代碼bug少且可維護性高,無形中質量提高了一大步。Hibernate包作用總結Hibernate一共包括了23個jar包,令人眼花繚亂。本文將詳細講解Hibernate每個jar包的作用,便于你在應用中根據自己的需要進行取舍。下載Hibernate,例如2.0.3穩定版本,解壓縮,可以看到一個hibernate2.jar和lib目錄下有22個jar包:hibernate2.jar:Hibernate的庫,沒有什么可說的,必須使用的jar包cglib-asm.jar:CGLIB庫,Hibernate用它來實現PO字節碼的動態生成,非常核心的庫,必須使用的jar包dom4j.jar:dom4j是一個Java的XML API,類似于jdom,用來讀寫XML文件的。dom4j是一個非常非常優秀的Java XML API,具有性能優異、功能強大和極端易用使用的特點,同時它也是一個開放源代碼的軟件,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,對主流的Java XML API進行的性能、功能和易用性的評測,dom4j無論在那個方面都是非常出色的。我早在將近兩年之前就開始使用dom4j,直到現在。如今你可以看到越來越多的Java軟件都在使用dom4j來讀寫XML,特別值得一提的是連Sun的JAXM也在用dom4j。這是必須使用的jar包, Hibernate用它來讀寫配置文件。odmg.jar:ODMG是一個ORM的規范,Hibernate實現了ODMG規范,這是一個核心的庫,必須使用的jar包。commons-collections.jar:Apache Commons包中的一個,包含了一些Apache開發的集合類,功能比java.util.*強大。必須使用的jar包。commons-beanutils.jar:Apache Commons包中的一個,包含了一些Bean工具類類。必須使用的jar包。commons-lang.jar:Apache Commons包中的一個,包含了一些數據類型工具類,是java.lang.*的擴展。必須使用的jar包。commons-logging.jar:Apache Commons包中的一個,包含了日志功能,必須使用的jar包。這個包本身包含了一個Simple Logger,但是功能很弱。在運行的時候它會先在CLASSPATH找log4j,如果有,就使用log4j,如果沒有,就找JDK1.4帶的 java.util.logging,如果也找不到就用Simple Lmons-logging.jar的出現是一個歷史的的遺留的遺憾,當初Apache極力游說Sun把log4j加入JDK1.4,然而JDK1.4項目小組已經接近發布JDK1.4產品的時間了,因此拒絕了Apache的要求,使用自己的java.util.logging,這個包的功能比log4j差的很遠,性能也一般。后來Apache就開發出來了commons-logging.jar用來兼容兩個 logger。因此用commons-logging.jar寫的log程序,底層的Logger是可以切換的,你可以選擇log4j, java.util.logging或者它自帶的Simple Logger。不過我仍然強烈建議使用log4j,因為log4j性能很高,log輸出信息時間幾乎等于System.out,而處理一條log平均只需要5us。你可以在Hibernate的src目錄下找到Hibernate已經為你準備好了的log4j的配置文件,你只需要到Apache 網站去下載log4j就可以了。commons-logging.jar也是必須的jar包。使用Hibernate必須的jar包就是以上的這幾個,剩下的都是可選的。ant.jar:Ant編譯工具的jar包,用來編譯Hibernate源代碼的。如果你不準備修改和編譯Hibernate源代碼,那么就沒有什么用,可選的jar包optional.jar:Ant的一個輔助包。c3p0.jar:C3PO是一個數據庫連接池,Hibernate可以配置為使用C3PO連接池。如果你準備用這個連接池,就需要這個jar包。proxool.jar:也是一個連接池,同上。commons-pool.jar, commons-dbcp.jar:DBCP數據庫連接池,Apache的Jakarta組織開發的,Tomcat4的連接池也是DBCP。實際上Hibernate自己也實現了一個非常非常簡單的數據庫連接池,加上上面3個,你實際上可以在Hibernate上選擇4種不同的數據庫連接池,選擇哪一個看個人的偏好,不過DBCP可能更通用一些。另外強調一點,如果在EJB中使用Hibernate,一定要用App Server的連接池,不要用以上4種連接池,否則容器管理事務不起作用。connector.jar:JCA 規范,如果你在App Server上把Hibernate配置為Connector的話,就需要這個jar。不過實際上一般App Server肯定會帶上這個包,所以實際上是多余的包。jaas.jar:JAAS是用來進行權限驗證的,已經包含在JDK1.4里面了。所以實際上是多余的包。jcs.jar:如果你準備在Hibernate中使用JCS的話,那么必須包括它,否則就不用。jdbc2_0-stdext.jar:JDBC2.0的擴展包,一般來說數據庫連接池會用上它。不過App Server都會帶上,所以也是多余的。jta.jar:JTA規范,當Hibernate使用JTA的時候需要,不過App Serv
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高校教師提升學業評價素養的策略及實施路徑
- 2025年移動應用程序開發與設計考試試題及答案
- 2025年文化產業管理專業畢業生考試試題及答案
- 2025年社會政策與社會保障專業知識測試卷及答案
- 2025年金融分析師職業資格考試試卷及答案
- 2025年計算機網絡安全考試試題及答案
- 2025年供應鏈金融與風險控制的綜合能力考試題及答案
- 特價餐具倉庫管理制度
- 特殊手術麻醉管理制度
- 特殊環節瓦斯管理制度
- 臨商銀行股份有限公司招聘筆試真題2024
- 近代史第三章試題及答案
- 地理●甘肅卷丨2024年甘肅省普通高中學業水平等級性考試高考地理真題試卷及答案
- 吊裝-運輸方案(3篇)
- 【8道期末】安徽省蕪湖市無為市2023-2024學年八年級下學期期末道德與法治試題(含解析)
- 2025年鋼絲材料項目市場調查研究報告
- 敘事護理分享課件
- 2025國家開放大學《員工勞動關系管理》形考任務1234答案
- 2025年湖北省新高考信息卷(一)物理試題及答案
- 部編版小學語文《十六年前的回憶》評課稿
- 礦機托管經營合同協議
評論
0/150
提交評論