暑假自學JAVA Web心得(1)

1.C/S架構和B/S架構java

 通常來說,電腦上的應用程序,例如QQ、微信、WPS、QQ音樂等等,都是屬於C/S架構 主要特色就是須要不定時的更新(不止服務器端的更新)。 同理,手機上的APP也能夠說是C/S架構。而B/S架構,則是瀏覽器的事情,你在瀏覽器上一樣能夠登陸webQQ或者webQQ音樂,可是你不須要更新你的瀏覽器,統一在服務器端更新便可,你的瀏覽器顯示出的內容會根據服務器端的更新而進行改變。
 
C/S架構和B/S架構的區別:
1.就維護成原本說,C/S架構要比B/S架構來的高。上面已經闡述過,C/S架構你不單單須要更新你的服務器端,你有多少客戶端就一樣須要更新多少客戶端,而B/S架構只需更新服務器端。
2. C/S的客戶端不只負責與用戶的交互、收集用戶的信息,還須要經過網絡向服務器發送請求處理數據庫、電子表格和文檔等等。而B/S的瀏覽器端只須要進行顯示,這樣服務器的數據負荷就較重,服務器的做用就顯得尤其重要。
3.C/S架構能夠經過嚴格的管理派發軟件達到保證系統安全的目的,而B/S架構的軟件因爲人數較多,且不固定,相對來講安全性就較低。web

 

 

2.JSP頁面指令數據庫

JSP的頁面指令中的難點是contentType和pageEncoding屬性,這兩個容易搞混。一般新建一個網頁,出來的是pageEncoding=「ISO-8859-1」 這時候在JSP頁面裏輸入中文字符會提示錯誤。而後就瞭解到,pageEncoding指的是最淺顯的一層:JSP文件中不能識別中文字符,這時候把pageEncoding屬性改成UTF-8便可。
那麼contentType又是什麼意思呢。
JSP文件部署到Web應用服務器(Tomcat)後,要通過四個階段能返回給瀏覽器。
一、首先瀏覽器發送請求,服務器會將JSP文件中的內容轉換成java語言,也就是Servlet文件(即.java文件)
二、而後將這個java文件編譯爲一個字節碼文件(即.class文件)
三、最後Web應用服務器加載轉換後的Servlet實例,處理客戶端的請求並返回HTML格式的響應迴應給瀏覽器

因此能夠知道,上述的pageEncoding是指用何種編碼方案轉換成java文件,也就是第一個步驟。而contentType的屬性則是關乎第三步,Web應用服務器會根據controlType的屬性來採起編碼方案返回到你的瀏覽器上進行顯示。

通過試驗發現,新建的JSP文件中只有pageEncoding是有初始值的。按理來講,應該將pageEncoding和contentType的屬性都改成UTF-8才能正確的顯示中文字符,光是pageEncoding的話,只是第一步的翻譯正確了而已,返回仍然不能顯示中文字符。可是通過試驗,發現仍然能正確顯示。

帶着疑惑去百度查資料,contentType的默認值是ISO-8859-1,可是若是你定義了pageEncoding的屬性值,那麼就默認contentType也與其相一致(Tomcat是這樣的)。因此我將pageEncoding的屬性值改成UTF-8後,contentType的值也變成了UTF-8。這樣就解決了疑惑。瀏覽器

相關文章
相關標籤/搜索