亂碼是j2ee中一個比較常見的問題。遇到1,2個情況下,可以用new String(request.getParameter(xxx).getBytes("ISO-8859-1"),"UTF-8")來解決。遇到多的情況下,就最好用過濾器了。
1個過濾器只需要注意2個地方,類和在web.xml上面的發布。
1。在web.xml上面的發布如下:
<filter>
??????<filter-name>SetCharsetEncodingFilter</filter-name>? //這個是類名
??????<filter-class>org.SetCharacter</filter-class>??????? //這個是類的位置
??????<init-param>
??????????<param-name>encoding</param-name>
??????????<param-value>utf-8</param-value>
??????</init-param>
??</filter>
??<filter-mapping>
??????<filter-name>SetCharsetEncodingFilter</filter-name>

??????<url-pattern> /* </url-pattern>?? //這個代表所有的文件遇到過濾器都要被攔截
??</filter-mapping>2。過濾的這個類如下:
package?org;

import?java.io.IOException;

import?javax.servlet.Filter;
import?javax.servlet.FilterChain;
import?javax.servlet.FilterConfig;
import?javax.servlet.ServletException;
import?javax.servlet.ServletRequest;
import?javax.servlet.ServletResponse;


public?class?SetCharacter?implements?Filter?{
????protected?String?encoding?=?null;
????protected?FilterConfig?filterConfig?=?null;
????protected?boolean?ignore?=?true;


????public?void?init(FilterConfig?arg0)?throws?ServletException?{
????????this.encoding?=?arg0.getInitParameter("encoding");
????????String?value?=?arg0.getInitParameter("imnore");

????????if(value==null){
????????????this.ignore?=?true;

????????}else?if?(value.equalsIgnoreCase("true")){
????????????this.ignore?=?true;

????????}else?if(value.equalsIgnoreCase("yes")){
????????????this.ignore?=?true;
????????}
????????
????}


????public?void?doFilter(ServletRequest?arg0,?ServletResponse?arg1,?FilterChain?arg2)?throws?IOException,?ServletException?{

????????if(ignore||(arg0.getCharacterEncoding()?==?null)){
????????????String?encoding?=selectEncoding(arg0);
????????????if(encoding!=null)
????????????????arg0.setCharacterEncoding(encoding);
????????}
????????arg2.doFilter(arg0,arg1);
????}


????private?String?selectEncoding(ServletRequest?arg0)?{
????????return?(this.encoding);
????}


????public?void?destroy()?{
????????this.encoding?=?null;
????????this.filterConfig?=?null;
????}

}

posted @
2007-01-04 23:00 xrzp 閱讀(1368) |
評論 (2) |
編輯 收藏
JAVA把存儲器分為5種:
1.寄存器Register
2.棧Stack:棧在RAM中,CPU可通過棧指針直接訪問數據,棧指針向上則建立新的存儲區,向下則釋放存儲區。棧中的數據必須有確切的大小和生命期(什么時候建立數據,什么時候撤消數據),不然指針如何知道該移動多少呢?通常對象的引用放在棧中,但是對象本身不在這里。由于棧在RAM中,因此速度比寄存器慢。基本數據類型也在棧中,因為其大小和生命期是確定的。
3.堆Heap:堆在RAM中,JAVA對象就放在這里。堆的好處是其中的數據的大小和生命期都可以不確定。每當用new關鍵字創建對象時,編譯程序就會在堆中分配響應的存儲區給對象。
4.靜態存儲區Static:靜態存儲區也在RAM中,看到Static,就可以猜測,那些加在static關鍵字的數據和方法都放在這里,確實這樣。不過對象即便是靜態的也不放在這兒。
5.常量存儲區Constant:常量存儲區在RAM中,與靜態存儲區類似,程序中的常量(由final關鍵字修飾)都放在這里。
posted @
2007-01-03 23:38 xrzp 閱讀(790) |
評論 (1) |
編輯 收藏
本來想完全自己寫這個主題的,但是發現自己對很多東西都沒不知道,所以就看了一下別人總結的,學了一下“拿來主義”。上次看一個招聘廣告上要求會RMI,我卻連它是什么東西都不知道,太丟人了。先把這些名詞拿來。
J2EE平臺由一整套服務(Services)、應用程序接口(APIs)和協議構成,它對開發基于Web的多層應用提供了功能支持,下面對J2EE中的13種技術規范進行簡單的描述(限于篇幅,這里只能進行簡單的描述):
JDBC(Java Database Connectivity):
JDBC API為訪問不同的數據庫提供了一種統一的途徑,象ODBC一樣,JDBC對開發者屏蔽了一些細節問題,另外,JDCB對數據庫的訪問也具有平臺無關性。
JNDI(Java Name and Directory Interface):
JNDI API被用于執行名字和目錄服務。它提供了一致的模型來存取和操作企業級的資源如DNS和LDAP,本地文件系統,或應用服務器中的對象。
EJB(Enterprise JavaBean):
J2EE技術之所以贏得某體廣泛重視的原因之一就是EJB。它們提供了一個框架來開發和實施分布式商務邏輯,由此很顯著地簡化了具有可伸縮性和高度復雜的企業級應用的開發。EJB規范定義了EJB組件在何時如何與它們的容器進行交互作用。容器負責提供公用的服務,例如目錄服務、事務管理、安全性、資源緩沖池以及容錯性。但這里值得注意的是,EJB并不是實現J2EE的唯一途徑。正是由于J2EE的開放性,使得有的廠商能夠以一種和EJB平行的方式來達到同樣的目的。
RMI(Remote Method Invoke):
正如其名字所表示的那樣,RMI協議調用遠程對象上方法。它使用了序列化方式在客戶端和服務器端傳遞數據。RMI是一種被EJB使用的更底層的協議。
Java IDL/CORBA:
在Java IDL的支持下,開發人員可以將Java和CORBA集成在一起。 他們可以創建Java對象并使之可在CORBA ORB中展開, 或者他們還可以創建Java類并作為和其它ORB一起展開的CORBA對象的客戶。后一種方法提供了另外一種途徑,通過它Java可以被用于將你的新的應用和舊的系統相集成。
JSP(Java Server Pages):
JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端所請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。
Java Servlet:
Servlet是一種小型的Java程序,它擴展了Web服務器的功能。作為一種服務器端的應用,當被請求時開始執行,這和CGI Perl腳本很相似。Servlet提供的功能大多與JSP類似,不過實現的方式不同。JSP通常是大多數HTML代碼中嵌入少量的Java代碼,而servlets全部由Java寫成并且生成HTML。
XML(Extensible Markup Language):
XML是一種可以用來定義其它標記語言的語言。它被用來在不同的商務過程中共享數據。XML的發展和Java是相互獨立的,但是,它和Java具有的相同目標正是平臺獨立性。通過將Java和XML的組合,您可以得到一個完美的具有平臺獨立性的解決方案。
JMS(Java Message Service):
MS是用于和面向消息的中間件相互通信的應用程序接口(API)。它既支持點對點的域,有支持發布/訂閱(publish/subscribe)類型的域,并且提供對下列類型的支持:經認可的消息傳遞,事務型消息的傳遞,一致性消息和具有持久性的訂閱者支持。JMS還提供了另一種方式來對您的應用與舊的后臺系統相集成。
JTA(Java Transaction Architecture):
JTA定義了一種標準的API,應用系統由此可以訪問各種事務監控。
JTS(Java Transaction Service):
JTS是CORBA OTS事務監控的基本的實現。JTS規定了事務管理器的實現方式。該事務管理器是在高層支持Java Transaction API (JTA)規范,并且在較底層實現OMG OTS specification的Java映像。JTS事務管理器為應用服務器、資源管理器、獨立的應用以及通信資源管理器提供了事務服務。
JavaMail:
JavaMail是用于存取郵件服務器的API,它提供了一套郵件服務器的抽象類。不僅支持SMTP服務器,也支持IMAP服務器。
JAF(JavaBeans Activation Framework):
JavaMail利用JAF來處理MIME編碼的郵件附件。MIME的字節流可以被轉換成Java對象,或者轉換自Java對象。大多數應用都可以不需要直接使用JAF。
posted @
2006-12-27 21:37 xrzp 閱讀(228) |
評論 (0) |
編輯 收藏
1.一個表空間只能屬于一個數據庫
2.每個數據庫最少有一個控制文件(建議
3
個,分別放在不同的磁盤上)
3.每個數據庫最少有一個表空間(
SYSTEM
表空間)
4.建立
SYSTEM
表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率
5.每個數據庫最少有兩個聯機日志文件
6.一個數據文件只能屬于一個表空間
7.一個數據文件一旦被加入到一個表空間中,就不能再從這個表空間中移走,也不能再加入到其他表空間中
8.建立新的表空間需要建立新的數據文件
9.數據文件被
ORACLE
格式化為
ORACLE
塊,
ORACLE
塊的大小是在第一次創建數據庫時設定的,并且以后不能改變
10.單獨一個事務不能跨越多個回滾段
11.索引表不含
ROWID
值
12.擁有不同大小的回滾段沒有任何益處
13.
ORACLE
在初始安裝時建立一個缺省數據庫,實例名為
ORCL
14.一個塊的最大長度為
16KB(
有
2K
、
4K
、
8K
、
16K)
每個數據庫最大文件數(按塊大小)
2K
塊
20000
個文件
4K
塊
40000
個文件
8K
塊或以上 65536個文件
15.
oracle server
可以同時啟動多個數據庫
16.一套操作系統上只能安裝一個版本的
ORACLE
數據庫系統
17.一套
ORACLE
數據庫系統中可以有多個
ORACLE
數據庫
18. 每個
ORACLE
數據庫擁有一個數據庫實例(
INSTANCE
),
所以,一套操作系統上同時可以有多個
oracle
數據庫實例啟動
19.主鍵的值不能重復
posted @
2006-10-30 23:16 xrzp 閱讀(257) |
評論 (0) |
編輯 收藏
病毒猛于虎啊!!2臺機器都中毒了,還不淺。心得:新裝完系統后,先把所有驅動裝好,再打SP4的補丁,然后用金山的那個漏洞掃描下漏洞,暫時先打幾個補丁。再用專用的viking專殺工具來把整個硬盤清除一次,免得殺毒軟件把.exe的文件一起當病毒給干掉了。再接下來,就裝瑞星或是江民,貌似江民比較好(功能要強大一點,界面要簡潔一點)。裝完殺毒軟件后就是更新殺毒軟件了,然后再用殺毒軟件自帶的系統漏洞補丁掃描來掃一次,把剩下的能裝的補丁裝了,弄的差不多后,就用ghost搞個鏡像。
posted @
2006-10-29 03:29 xrzp 閱讀(280) |
評論 (2) |
編輯 收藏
扔幾顆種子,撒爬尿,哈哈。
posted @
2006-10-20 22:12 xrzp 閱讀(146) |
評論 (0) |
編輯 收藏