java學習心得筆記
1) a single status code
2) any number of http headers
3) a response body
5. servlet之間信息共享的一個最簡單的方法就是
system.getproperties().put(“key”,”value”);
6. post和get
post:將form內各字段名稱和內容放置在html header內傳送給server
get: ?之后的查詢字符串要使用urlencode,經過urlencode后,這個字符串不再帶有空格,以后將在server上恢復所帶有的空格。
get是web上最經常使用的一種請求方法,每個超鏈接都使用這種方法。
7. web.xml就是web applicatin 的deployment descriptor
作用有:組織各類元素
設置init param
設置安全性
8. request dispatcher用來把接收到的request forward processing到另一個servlet
要在一個response里包含另一個servlet的output時,也要用到request dispatcher.
9. servlet和jsp在同一個jvm中,可以通過serveltcontext的
setattribute( )
getattribute( )
removeattribute( )
來共享對象
10. 利用request.getparameter( )得到的string存在字符集問題。
可以用 strtitle = request.getparameter(“title”);
strtitle = new string(strtitle.getbytes(“8859-1”),”gb2312”);
如果你希望得到更大得兼容性
string encoding = response.getcharacterencoding();
//確定application server用什么編碼來讀取輸入的。
strtitle = new string(strtitle.getbytes(encoding),”gb2312”);
xml
1.xml基礎知識
1. 一個xml文檔可以分成兩個基本部分:
首部( header )
內容( content )
2. xml名字空間規范中指定:
xml文檔中的每一個元素都處在一個名字空間中;如果沒有指定的名字空間,缺省的名字空間就是和該元素相關聯的名字空間。
3. a document that is well-formed obeys all of the rules of xml documents (nested tags, etc.)
" if a well-formed document uses a document type definition (more on these in a minute), and it follows all the rules of the dtd, then it is also a valid document
4. a tag is the text between the <angle brackets>;
" an element is the start tag, the end tag,and everything (including other elements) in between
5. 標簽( tags ) 實際上包含了“元素”( elements ) 和 “屬性”( attributes )兩部分。
用元素( elements )來描述有規律的數據。
用屬性( attributes ) 來描述系統數據。
如果你有一些數據要提供給某個應用程序,該數據就可能要用到一個元素。
如果該數據用于分類,或者用于告知應用程序如何處理某部分數據,或者該數據從來沒有直接對客戶程序公開,那么它就可能成為一種屬性。
6. cdata (讀作:c data ) c是character的縮寫。
.xml.sax.reader
/|\
org.xm.l.sax.xmlreader
/|\
org.apche.xerces.parsers.saxparser
2.webservice
2.1 webservice的基本概念
webservice是一種可以接收從internet或者intranet上的其它系統中傳遞過來的請求,輕量級的獨立的通訊技術。
這種技術允許網絡上的所有系統進行交互。隨著技術的發展,一個web服務可以包含額外的指定功能并且可以在多個b2b應用中協作通訊。
web服務可以理解請求中上下文的關系,并且在每一個特定的情況下產生動態的結果。這些服務會根據用戶的身份,地點以及產生請求的原因來改變不同的處理,用以產生一個唯一的,定制的方案。這種協作機制對那些只對最終結果有興趣的用戶來說,是完全透明的。
uddi
在用戶能夠調用web服務之前,必須確定這個服務內包含哪些商務方法,找到被調用的接口定義,還要在服務端來編制軟件。所以,我們需要一種方法來發布我們的web服務。
uddi (universal description, discovery, and integration) 是一個主要針對web服務供應商和使用者的新項目。uddi 項目中的成員可以通過uddi business registry (ubr) 來操作web服務的調用,ubr是一個全球性的服務。
web服務供應商可以在ubr中描述并且注冊他們的服務。
用戶可以在ubr中查找并定位那些他們需要的服務。
uddi是一種根據描述文檔來引導系統查找相應服務的機制。
uddi包含標準的“白皮書”類型的商業查詢方式,
“黃皮書”類型的局部查找,以及
“綠皮書”類型的服務類型查找。
uddi利用soap消息機制(標準的xml/http)來發布,編輯,瀏覽以及查找注冊信息。它采用xml格式來封裝各種不同類型的數據,并且發送到注冊中心或者由注冊中心來返回需要的數據。
wsdl
對于商業用戶來說,要找到一個自己需要使用的服務,他必須知道如何來調用。
wsdl (web services description language) 規范是一個描述接口,語義以及web服務為了響應請求需要經常處理的工作的xml文檔。這將使簡單地服務方便,快速地被描述和記錄。
以下是一個wsdl的樣例:
<?xml version="1.0"?>;
<definitions name="stockquote"
;