您好,登錄后才能下訂單哦!
1.web開發:主要是用html,java,css,javascript,dom技術開發網頁,網站。并且把這些開發好的網站或者網頁部署到一個可以提供服務的服務器上,然后讓外界可以直接去訪問這些網站和網頁中的資源。
2.web服務器:目前在Web應用中,有多種Web服務器可供選擇,常見的服務器有:
IIS:是源于Microsoft的公司的一種信息服務器,服務對象是基于Windows系統平臺的程序應用
Tomcat:Tomcat是Apache基金會開發的一個小型的輕量級應用服務器,技術先進,性能穩定,而且免費,占用資源小、系統運行快。(安裝Tomcat的步驟在我的博客會寫喲!!!)
1.jsp概述
JSP:(Java Server Page),是一種運行在服務器端的java頁面,最初是由Sun公司倡導、許多公司參與一同建立起來的一種動態網頁技術標準。
2.jsp工作原理
jap運行在服務端,當用戶通過瀏覽器請求訪問jsp資源時,Web服務器會使用jsp引擎對請求的jsp進行編輯和執行,然后將生成的頁面返回給客戶端瀏覽器進行顯示,如下圖所示:
3.jsp執行過程
當jsp請求提交到服務器時,Web容器會通過以下三個階段進行處理。
翻譯階段:將編寫好的就是jsp文件通過jsp引擎轉換成可識別的Java文件(.java)。
編譯階段:將java文件編譯成可執行的字節碼文件(.class文件)
執行階段:經過翻譯和執行的兩個階段,生成可被執行的二進制字節碼文件,此時就進入執行階段,執行結束后,Web容器把生成的結果頁面返回到客戶端顯示。
4.jsp注釋
<%--JSP注釋--%> 這個是jsp專用的注釋,
同時jsp還支持html注釋,java注釋,java的注釋需要寫在jsp中
5.jsp腳本
JSP的腳本元素分成三種:
(1)腳本聲明 被翻譯成Java程序中的成員變量內部類
格式:
<%!
Java代碼 可以變量 定義類,在這里聲明的變量是全局變量
%>
(2)腳本表達式 被翻譯成out中的輸出語句
格式:
<%= 表達式%> 這個表達式后面不能使用分號,類似于輸出,如果需要輸出特殊字符,需要轉義字符
(3)3、腳本片段 被翻譯成Java程序中的代碼,service
格式:
<%
直接書寫Java程序 ,這里聲明的變量是局部變量
%>
6.jsp常見錯誤調試方法
7.post和get
在html中,表單用于填寫數據,并通過提交實現數據的請求,提交表單的方式有兩種,分別是post和get,但是當用戶提交有中文數據的信息時,可能會出現亂碼。
原因:客戶端提交的數據,使用的utf-8編碼,然后服務器端使用的iso-8859-1解碼了(tomcat7以前默認的編碼),而在我們jsp程序獲取到的數據就是服務器解碼后的亂碼數據。
解決:我們需要把這些亂碼的數據全部恢復到正確的數據,就需要把亂碼的數據從新編碼,使用默認的編碼將亂碼之后的數據重新編碼到提交時候的數據
然后再根據我們使用的編碼進行解碼
兩種方式的區別以及解決亂碼的方式如下:
https://blog.51cto.com/14441795/2419949
8.jsp使用屬性存儲數據
在jsp中為了方便數據庫的使用,有時需要將數據通過request對象的屬性進行保存和讀取,這就需要使用request對象的兩種方法,分別是setAttribute()方法和getAttribute()方法
setAttribute()方法語法:public void setAttribute(String name,Object o)
該方法沒有返回值,參數name表示屬性名稱,參數o表示屬性的值,
例:request.setAttribute("mess","注冊失敗")
getAttribute()方法語法:public Object getAttribute(String name)
因為返回值是Object類型,所以在讀取數據時,必須將數據轉換成最初的類型,
例如:String mess=(String)request. getAttribute("mess");
注意:如果mess不等于null,表示可以得到實際的數據,可以進行使用;如果請求對象沒有與參數對應的屬性,getAttribute()方法會返回一個null值,所以在使用這個屬性值時要做非空判斷,否則會出現空指針異常。
9.轉發與重定向(頁面跳轉)
1)、請求轉換是服務器內部跳轉,所有地址欄上的路徑不會改變. 重定向是瀏覽器在次發送請求,地址欄上的路徑會發生改變.
2)、請求轉發只發送一次請求。 重定向會發送兩次請求
3)、請求轉發只能在當前應用內部跳轉. 重定向可以在內部跳轉也可以跳出當前應用.
4)、請求轉發時,因為是內部跳轉。它的路徑寫法是 /資源路徑。 重定向,它的路徑需要寫 /工程名/資源路徑. 5)、請求轉發,可以共享reqeust。 重定向不可能,因為每一次都是一個新的request。
6)、請求轉換是通過reqeust發起 request.getRequestDispatcher().forward(); 重定向 response發起 response.sendRedirect();
7)重定向與轉發的選擇
--、重定向的速度比轉發慢,因為瀏覽器還得發出一個新的請求,如果在使用轉發和重定向都無所謂的時候建議使用轉發。
--、因為轉發只能訪問當前WEB的應用程序,所以不同WEB應用程序之間的訪問,特別是要訪問到另外一個WEB站點上的資源的情況,這個時候就只能使用重定向了。
10.jsp的9大內置對象
詳細講解見:
https://blog.51cto.com/14441795/2422160
11.在域對象存值
域對象一共有四個:pageContext,request,session, servletContext
setAttribute(String name, Object o) 向request域中存放一個映射關系,key為String類型,value為Object 類型
getAttribute(String name) 通過映射關系的key,獲取對應的值
pageContext:只在當前頁面有效,
Request:一次請求有效,使用同一個request
Session:會話級別,從打開瀏覽器的那一刻開始,一直到關閉瀏覽器,之間這段時間稱之為一次會話
ServletContext:應用級別,項目級別
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。