『壹』 jsp的執行過程是怎樣的
JSP的執行過程
JSP的執行過程主要可以分為以下幾點:
客戶端發出請求。
Web容器將JSP轉譯成Servlet源代碼。
Web容器將產生的源代碼進行編譯。
Web容器載入編譯後的代碼並執行。
把執行結果響應至客戶端。
過程介紹
客戶端發出請求,請求為JSP,web容器就會找出相應的servlet進行處理。
將servlet轉成位元組碼文件。
將位元組碼文件載入到web容器里。
這時會在web容器里建立實例。首弊衫
進行初始化。
通過service接受請求。
然後web容器會自動產生兩個對象servlet和service最後進行銷毀。
JSP的運行原理
WEB容器(Servlet引擎)接收到以。jsp為擴展名的URL的訪問請求時,它將把該訪問請求交給JSP引擎去處理。Tomcat中的JSP引擎就是一個Servlet程序,它負責解釋和執行JSP頁面。
每個JSP頁面在第一次被訪問時,JSP引擎將它翻譯成一個Servlet源程序,接著再把這個Servlet源程序編譯成Servlet的class類文件,然後再由WEB容器(Servlet引擎)像調用普通Servlet程序一樣的方式來裝載和解釋執行這個由JSP頁面翻譯成的Servlet程序。
Tomcat 5.x把為JSP頁面創建的Servlet源文件和class類文件放置在「<TOMCAT_HOME>workCatalina<主機名><應用程序名>」目錄中,
Tomcat將JSP頁面翻譯成的Servlet的包名為org.apache.jsp.<JSP頁面在WEB應用程序內的目錄名>。
JSP規范也沒有明確要求JSP中的腳本程序代碼必須採用java語言,JSP中的腳本程序代碼可以採用Java語言之外的其他腳本語言來編寫,但是,JSP頁面最終必須卜侍轉換成Java Servlet程序。
可以在WEB應用程序正式發布之前,將其中的者腔所有JSP頁面預先編譯成Servlet程序。
『貳』 JSP網頁命名規范
JSP網頁命名規范如下:
登陸 Login
注冊 Register
用戶 User
創建 Create
修改 Update
刪除 Delete
查詢 Selete
控制器 Controller
用戶名 Username
密碼 Password
jsp主頁版面(游覽功能權) XxxxIndex.jsp (一般記錄的刪除在此頁面做連接)
jsp添加功能頁面 XxxxAdd.jsp,相關的處理頁面XxxxAddAction.jsp
jsp修改功能頁面 XxxxModify.jsp, 相關的處理頁面XxxxModifyAction.jsp
jsp刪除功能頁面 XxxxDel.jsp, 相關的處理頁面XxxxDelAction.jsp
『叄』 JSP規范定義的三大元素
在JSP頁面中,JSP元素可以分為三大類:JSP指令元素、JSP動作元素、JSP腳本元素。
一、JSP指令元素僅僅是在「翻譯」階段使用的,即把JSP翻譯成Servlet。JSP指令元素只有「三個」:page、taglib、include。但每個指令可能有若干個屬性。比如:page指令有contentType屬性、有import屬性等。
二、 jsp動作元素又可分為「三種」:JSP標准動作元素,JSP標准標記庫(JSTL)動作元素,自定義動作元素。
JSP標准動作元素」是早期就存在的JSP規范定義的標准動作元素,它是由jsp作為前綴的標簽。例如:
<jsp:useBean ……>就是JSP標准動作元素。
JSP標准標記庫(JSTL)動作元素:是在JSP發展到後才來產生的,他主要由:1.核心庫(core)、2.國際化和格式化庫、3.關系資料庫訪問庫、4.XML處理庫、5.函數庫,這五個庫組成。每個庫的標簽都對應相應的標簽前綴,比如:核心庫裡面的標簽前綴是c,<c:out……>。由於現在的Web一般都採用MVC模式,所以JSTL中的關系資料庫訪問庫一般比較少用到。而在用純JSP設計的Web中一般會用到。
自定義動作元素:如果覺得JSTL還不夠用,你還可以開發自定義的定製動作。自定義動作元素在這里不作介紹。
三、JSP腳本元素:JSP腳本元素在JSTL還沒發展起來時,是JSP代碼的主要組成部分,在JSP腳本裡面可以寫各種各樣的java代碼來完成各種任務。但JSP頁面中大量使用JSP腳本元素會使JSP頁面凌亂,而且JSP頁面使用JSP腳本元素不方便編程任務的分工。可以說,JSTL就是為了解決JSP腳本元素帶來的問題而產生的。有了JSTL後,可以用JSTL取代JSP腳本元素(但JSTL還在完善中,有時不能100%的取代JSP頁面中的JSP腳本元素)。EL表達式也是JSP在後來引進的。他可以為JSP標記的屬性等動態賦值,比JSP表達式更加簡單易用。
『肆』 JSP頁面中,被include進來的頁面有什麼要求或規范
用<jsp:include標簽引入的頁面,在JSP編譯的時候,會將子頁面回編譯成一個類,在其它頁面調用答的時候,是將類實例化,生成一個對象,調用對象的_jspService(HttpServletRequest request, HttpServletResponse response)方法,並將request和response傳入進去。
一般來說,在被引用頁面中不建議寫<html><head><body>元素,因為它是被引用頁面,不知道引用頁面是否也會定義這些元素,如果也定義了,就會出現某些重復標簽,一般來說不會出現什麼問題,但有時候可能會有一些意想不到的錯誤,或者不同瀏覽器解析時會出現不同的效果。
『伍』 java jsp 文件命名用大小寫還是下劃線要好
jsp命名規范是用下劃線,一般不用大寫的。
1. 全部採用小寫的英文字元和」專_ 」組成。屬
2. 整體採用模塊名+操作的形式。如:user_view.jsp
3. Jsp頁面盡可能與action的意思對應,如UserListAction 對應者user_list.jsp
『陸』 tomcat 6.0.14支持的Servlet和JSP規范各是哪個版本的
jsp的本質就是servlet
只要你願意jsp可以做到servlet能做到所有的事反過來也是吵皮猜一樣的
至於tomcat
它就是一個容器
如果單純的用servlet
的out.println()來輸出網頁你肯定會發瘋的
jsp就是為了解決這個問題而誕生的
你可以在
你的tomcat目錄下找到\work\catalina\localhost\你的項目名
這樣升型的文握凳件夾在你的項目里有tomcat把jsp文件轉化為.java
和編譯過的.class文件
『柒』 從事葯品經營活動應當遵守的質量管理規范是jsp嗎
從事葯品經鋒塌營活動應當遵守的質量管理規范是jsp。經查詢公開資料,從事葯品經銀高圓營活動屬於葯品經營企業,按照《中華人民共和國葯品管理法》及《葯品經營質量管理規范》的要求,凡是念陸葯品經營企業都必須達到《葯品經營質量管理規范》的要求必須通過JSP的認證。
『捌』 詳細論述JSP,Servlet技術規范
一、概述
Servlet是一種獨立於平台和協議的伺服器端的Java應用程序,可以生成動態的Web頁面。
Servlet是位於Web 伺服器內部的伺服器端的Java應用程序,與傳統的從命令行啟動的Java應用程序不同,Servlet由Web伺服器進行載入,該Web伺服器必須包含支持Servlet的Java虛擬機。
Java Servlet 與 Applet 的比較:
相似之處:
* 它們不是獨立的應用程序,沒有main()方法。
* 它們不是由用戶或程序員調用,而是由另外一個應用程序(容器)調用。
* 它們都有一個生存周期,包含init()和destroy()方法。
不同之處:
* Applet具有很好的圖形界面(AWT),與瀏覽器一起,在客戶端運行。
* Servlet 則沒有圖形界面,運行在伺服器端。
Java Servlet 與 CGI(Common Gateway Interface) 的比較:
與傳統的CGI和許多其他類似CGI的技術相比,Java Servlet具有更高的效率,更容易使用,功能更強大,具有更好的可移植性,更節省投資。在未來的技術發展過程中,Servlet有可能徹底取代CGI。
* 高效
在傳統的CGI中,每個請求都要啟動一個新的進程,如果CGI程序本身的執行時間較短,啟動進程所需要的開銷很可能反而超過實際執行時間。而在Servlet中,每個請求由一個輕量級的Java線程處理(而不是重量級的操作系統進程)。
在傳統CGI中,如果有N個並發的對同一CGI程序的請求,則該CGI程序的代碼在內存中重復裝載了N次;而對於Servlet,處理請求的是N個線程,只需要一份Servlet類代碼。在性能優化方面,Servlet也比CGI有著更多的選擇。
* 方便
Servlet提供了大量的實用工具常式,例如自動地解析和解碼HTML表單數據、讀取和設置HTTP頭、處理Cookie、跟蹤會話狀態等。
* 功能強大
在Servlet中,許多使用傳統CGI程序很難完成的任務都可以輕松地完成。例如,Servlet能夠直接和Web伺服器交互,而普通的CGI程序不能。Servlet還能夠在各個程序之間共享數據,使得資料庫連接池之類的功能很容易實現。
* 可移植性好
Servlet用Java編寫,Servlet API具有完善的標准。因此,為IPlanet Enterprise Server寫的Servlet無需任何實質上的改動即可移植到Apache、Microsoft IIS或者WebStar。幾乎所有的主流伺服器都直接或通過插件支持Servlet。
* 節省投資
不僅有許多廉價甚至免費的Web伺服器可供個人或小規模網站使用,而且對於現有的伺服器,如果它不支持Servlet的話,要加上這部分功能也往往是免費的(或只需要極少的投資)。
Java Servlet 與 JSP(JavaServer Pages) 的比較:
JavaServer Pages(JSP)是一種實現普通靜態HTML和動態HTML混合編碼的技術,JSP並沒有增加任何本質上不能用Servlet實現的功能。但是,在JSP中編寫靜態HTML更加方便,不必再用println語句來輸出每一行HTML代碼。更重要的是,藉助內容和外觀的分離,頁面製作中不同性質的任務可以方便地分開:比如,由頁面設計者進行HTML設計,同時留出供Servlet程序員插入動態內容的空間。
二.javax.servlet.http提供的HTTP Servlet應用編程介面。
HTTP Servlet 使用一個 HTML 表格來發送和接收數據。要創建一個 HTTP Servlet,請擴展 HttpServlet 類, 該類是用專門的方法來處理 HTML 表格的 GenericServlet 的一個子類。 HTML 表單是由 <FORM> 和 </FORM> 標記定義的。表單中典型地包含輸入欄位(如文本輸入欄位、復選框、單選按鈕和選擇列表)和用於提交數據的按鈕。當提交信息時,它們還指定伺服器應執行哪一個Servlet(或其它的程序)。 HttpServlet 類包含 init()、destroy()、service() 等方法。其中 init() 和 destroy() 方法是繼承的。
(1) init() 方法
在 Servlet 的生命期中,僅執行一次 init() 方法。它是在伺服器裝入 Servlet 時執行的。 可以配置伺服器,以在啟動伺服器或客戶機首次訪問 Servlet 時裝入 Servlet。 無論有多少客戶機訪問 Servlet,都不會重復執行 init() 。
預設的 init() 方法通常是符合要求的,但也可以用定製 init() 方法來覆蓋它,典型的是管理伺服器端資源。 例如,可能編寫一個定製 init() 來只用於一次裝入 GIF 圖像,改進 Servlet 返回 GIF 圖像和含有多個客戶機請求的性能。另一個示例是初始化資料庫連接。預設的 init() 方法設置了 Servlet 的初始化參數,並用它的 ServletConfig 對象參數來啟動配置, 因此所有覆蓋 init() 方法的 Servlet 應調用 super.init() 以確保仍然執行這些任務。在調用 service() 方法之前,應確保已完成了 init() 方法。
(2) service() 方法
service() 方法是 Servlet 的核心。每當一個客戶請求一個HttpServlet 對象,該對象的service() 方法就要被調用,而且傳遞給這個方法一個"請求"(ServletRequest)對象和一個"響應"(ServletResponse)對象作為參數。 在 HttpServlet 中已存在 service() 方法。預設的服務功能是調用與 HTTP 請求的方法相應的 do 功能。例如, 如果 HTTP 請求方法為 GET,則預設情況下就調用 doGet() 。Servlet 應該為 Servlet 支持的 HTTP 方法覆蓋 do 功能。因為 HttpServlet.service() 方法會檢查請求方法是否調用了適當的處理方法,不必要覆蓋 service() 方法。只需覆蓋相應的 do 方法就可以了。
當一個客戶通過HTML 表單發出一個HTTP POST請求時,doPost()方法被調用。與POST請求相關的參數作為一個單獨的HTTP 請求從瀏覽器發送到伺服器。當需要修改伺服器端的數據時,應該使用doPost()方法。
當一個客戶通過HTML 表單發出一個HTTP GET請求或直接請求一個URL時,doGet()方法被調用。與GET請求相關的參數添加到URL的後面,並與這個請求一起發送。當不會修改伺服器端的數據時,應該使用doGet()方法。
Servlet的響應可以是下列幾種類型:
一個輸出流,瀏覽器根據它的內容類型(如text/HTML)進行解釋。
一個HTTP錯誤響應, 重定向到另一個URL、servlet、JSP。
(3) destroy() 方法
destroy() 方法僅執行一次,即在伺服器停止且卸裝Servlet 時執行該方法。典型的,將 Servlet 作為伺服器進程的一部分來關閉。預設的 destroy() 方法通常是符合要求的,但也可以覆蓋它,典型的是管理伺服器端資源。例如,如果 Servlet 在運行時會累計統計數據,則可以編寫一個 destroy() 方法,該方法用於在未裝入 Servlet 時將統計數字保存在文件中。另一個示例是關閉資料庫連接。
當伺服器卸裝 Servlet 時,將在所有 service() 方法調用完成後,或在指定的時間間隔過後調用 destroy() 方法。一個Servlet 在運行service() 方法時可能會產生其它的線程,因此請確認在調用 destroy() 方法時,這些線程已終止或完成。
(4) GetServletConfig()方法
GetServletConfig()方法返回一個 ServletConfig 對象,該對象用來返回初始化參數和ServletContext。ServletContext 介面提供有關servlet 的環境信息。
(5) GetServletInfo()方法
GetServletInfo()方法是一個可選的方法,它提供有關servlet 的信息,如作者、版本、版權。
當伺服器調用sevlet 的Service()、doGet()和doPost()這三個方法時,均需要 "請求"和"響應"對象作為參數。"請求"對象提供有關請求的信息,而"響應"對象提供了一個將響應信息返回給瀏覽器的一個通信途徑。
javax.servlet 軟體包中的相關類為ServletResponse和ServletRequest,而javax.servlet.http 軟體包中的相關類為HttpServletRequest 和 HttpServletResponse。
Servlet 通過這些對象與伺服器通信並最終與客戶機通信。Servlet 能通過調用"請求"對象的方法獲知客戶機環境,伺服器環境的信息和所有由客戶機提供的信息。Servlet 可以調用"響應"對象的方法發送響應,該響應是准備發回客戶機的。
『玖』 在 jsp規范中, 可以使用兩種格式的注釋: 一種是什麼格式 另一種是隱藏注釋。
一共有如下幾種格式的注釋:
凡屬於jsp注釋的不會返回給客戶端,因為jsp代碼都是伺服器端運行的..。
<!--這是HTML注釋在客戶端可以看得見的-->
<%--這是JSP注釋,客戶端不能看見--%>
<%//這是JPS單行注釋,客戶端不能看見%>
<%/*這是JSP多行注釋,客戶端不能看見*/%>
『拾』 jsp是下列哪個質量管理規范的簡稱
是迅扒游質量管理規范。根據查詢相關信息得知從事葯品經營活動應當遵守的質量管理規范是jsp。JSP是一個特別的Java語此悉言,加入了一個特殊的引擎,這個引擎將HTTPServlet這個類的一些對象自動進行初始化好讓用戶使用,而用戶不用再去操心前面畝銷的工作。