




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Servlet 入門,回顧,Web應(yīng)用程序在互聯(lián)網(wǎng)應(yīng)用中越來越重要。 Web服務(wù)器程序是指運行在Web服務(wù)器上的軟件程序,其主要功能是負責(zé)偵聽指定端口,接收客戶端的請求并解析,然后將指定的頁面發(fā)送到客戶端。 Tomcat是當今使用最為廣泛的基于Java的Web服務(wù)器軟件,是中小企業(yè)應(yīng)用和學(xué)習(xí)Web編程的最佳選擇。,2,本章相關(guān)詞匯,3,本章目標,理解Servlet的基本知識 Servlet相關(guān)的API 了解Servlet的體系結(jié)構(gòu) 了解Servlet的生命周期 實現(xiàn)并部署Servlet,4,什么是Servlet?,Servlet是用Java語言編寫的程序,它運行在Web服務(wù)器上,用以處理來自客
2、戶端的請求; 它一般會把處理的結(jié)果以為HTML的形式返回,在客戶端形成動態(tài)網(wǎng)頁。,5,Servlet的優(yōu)點,Servlet運行在Web服務(wù)器中,可以擴展服務(wù)器的功能; Servlet可以和其他資源交互,從而生成返回給客戶端響應(yīng)的內(nèi)容,即動態(tài)網(wǎng)頁; 使用Java編寫,所以能夠跨平臺; Java的所有優(yōu)點都可以在Servlet中體現(xiàn); Servlet很安全,因為訪問Servlet的唯一途徑是通過服務(wù)器; 只要符合Servlet規(guī)范的Servlet容器都可以運行Servlet。,6,Servlet容器,事實上,Servlet本身就是普通的Java類,在需要的時候被實例化,在不需要的時候被銷毀,而Se
3、rvlet的實例化和銷毀工作由Servlet容器來完成; Servlet在Servlet容器內(nèi)運行,Servlet容器負責(zé)調(diào)度Servlet,并控制著Servlet的生命周期; Apache Tomcat既是Web服務(wù)器軟件,同時也是符合規(guī)范的Servlet容器。,7,Servlet API,與Servlet相關(guān)的兩個包: javax.servlet javax.servlet.http javax.servlet包中包含了支持通用的,跨協(xié)議的Servlet的相關(guān)接口和類; javax.servlet.http包中則包含了特定于HTTP協(xié)議的Servlet相關(guān)類; 在Tomcat安裝目錄/co
4、mmon/lib路徑下,可以找到servlet-api.jar文件。,8,javax.servlet包中的接口,9,javax.servlet包中的類,10,javax.servlet.http包中的接口,11,javax.servlet.http包中的類,12,Servlet的體系結(jié)構(gòu),13,javax.servlet.http.HttpServlet,HttpServlet中提供了一系列讓子類重寫的方法,在不同的時刻會調(diào)用執(zhí)行這些方法:,14,javax.servlet.http.HttpServlet(續(xù)),HttpServlet還提供了一些不常用的方法,如有非常特殊的需要,可考慮重寫它
5、們:,15,javax.servlet.http.HttpServlet(續(xù)),HttpServlet中還提供了一些其他的方法,這些方法不是用來重寫,而是提供某些功能的:,16,注意事項,HttpServlet中還包含一個service方法,其原型如下: public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 此方法用來調(diào)度客戶端的請求,API文檔中明確規(guī)定,請勿重寫該方法。,17,Servlet的生命周期,Servlet
6、容器負責(zé)調(diào)度Servlet并控制它的生命周期;,18,服務(wù)器加載Servlet,服務(wù)器創(chuàng)建 Servlet類的實例,調(diào)用Servlet實例 的init方法,收到客戶端請求,調(diào)用service方法,service方法處理請求 并將結(jié)果輸出到客戶端,Servlet等待下一個請求 或由服務(wù)器銷毀,Servlet在服務(wù)器調(diào)用 destroy方法后被銷毀,案例1:HelloServlet,19,/導(dǎo)入必要的包 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; /自定義Servlet,繼承于HttpServlet
7、public class HelloServlet extends HttpServlet /重寫父類的doGet方法,收到客戶端的請求(get方式)時,執(zhí)行此方法 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /獲得輸出流,以便向客戶端輸出內(nèi)容 PrintWriter out = response.getWriter(); /向客戶端輸出頁面內(nèi)容 out.println(); out.println(); out.
8、println( HelloServlet ); out.println(); out.println(); out.println(Hello world!); out.println(); out.println(); out.close(); /關(guān)閉流 ,部署HelloServlet,在Tomcat安裝目錄webapps目錄下新建名為myweb的目錄作為站點目錄; 在myweb目錄下建立WEB-INF目錄,然后再建立classes目錄存放編譯后的類文件。,20,配置文件web.xml,為了使Servlet容器能夠正確識別Servlet,還必須填寫名為web.xml的配置文件,其格式如下:
9、 ServletName ServletClass ServletName ServletURLMapping ,21,Servlet的名稱,可任意命名,Servlet的名稱,可任意命名,Servlet類的名稱,Servlet對應(yīng) 的URL名,HelloServlet的web.xml,22, hello HelloServlet hello /hello ,web.xml的存放路徑,將填寫好的web.xml文件存放在WEB-INF目錄下:,23,HelloServlet運行效果,啟動服務(wù)器,在客戶端瀏覽器中鍵入地址:,24,案例2:提交用戶信息,25,userinfo.html,26, 用戶基
10、本資料 請輸入您的基本信息 姓名: 年齡: ,ShowInfoServlet.java,27,public class ShowInfoServlet extends HttpServlet /重寫父類的doPost方法,收到客戶端的請求(post方式)時執(zhí)行此方法 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /設(shè)置請求和響應(yīng)的字符集編碼 response.setContentType(text/html; ch
11、arset=GB2312); request.setCharacterEncoding(GB2312); PrintWriter out = response.getWriter(); /獲得輸出流 /從請求對象中獲得指定參數(shù)的值 String strName = request.getParameter(txtName); int age = Integer.parseInt(request.getParameter(txtAge); age+; /向客戶端輸出頁面內(nèi)容 out.println( 顯示用戶信息 ); out.println(); out.println(您的基本信息如下:);
12、 out.println(您好! + strName + ); out.println(明年您是 + age + 歲); out.println(); out.close(); ,web.xml,28, showinfo com.myweb.ShowInfoServlet showinfo /showinfo ,標準Web應(yīng)用程序的目錄結(jié)構(gòu),如新建一個名為myweb站點,其目錄位置為: Tomcat_Installwebappsmyweb 那么該站點的URL位置就是:http:/server IP or Domain:port/myweb 該站點的標準目錄結(jié)構(gòu)應(yīng)為: Tomcat_Instal
13、lwebappsmyweb 存放所有的靜態(tài)頁面(html)和JSP頁面 Tomcat_InstallwebappsmywebWEB-INF 存放web.xml配置文件 Tomcat_Installwebappsmywebclasses 存放所有經(jīng)過編譯后的Servlet的class文件 Tomcat_Installwebappsmyweblib 存放程序中要使用到的其它API文件,29,總結(jié),Servlet其實就是運行在服務(wù)器端的小應(yīng)用程序; Servlet容器負責(zé)調(diào)度Servlet,并控制著它們的生命周期; 一般通過繼承HttpServlet的方式來實現(xiàn)Servlet; 根據(jù)客戶端請求的方式,只需重寫doGet或doPost方法即可; 要使容器正確識別Servlet,則必須填寫配置文件web.xml; WEB應(yīng)用程序必須要依照標準的目錄結(jié)構(gòu),方可正確運行。,30,附:關(guān)于表單提交方式(Get和Post),在HTML中我們已經(jīng)知道,網(wǎng)頁表單的提交有Get和Post兩種方式; 對于Get提交方式,會將要提交的數(shù)據(jù)附加在URL字符串的后面一并發(fā)送到服務(wù)器; 而Post提交方式,則是將數(shù)據(jù)隱含在HTTP協(xié)議的請求報文中發(fā)送至服務(wù)器; 如果是Get的提交方式,在Servlet中要重寫doGet方法進行處理,而如果是Post方式,則要重寫doPost方法。,31,細節(jié):Get提交方式的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 開放社區(qū)食堂管理辦法
- 西安代理記賬管理辦法
- 遵義養(yǎng)豬日常管理辦法
- 大眾服裝陳列培訓(xùn)課件
- 肝臟腫瘤護理課件
- 員工培訓(xùn)理論課件
- 佛山春招數(shù)學(xué)試卷
- 二模高質(zhì)量數(shù)學(xué)試卷
- 高三沖刺班高中數(shù)學(xué)試卷
- 肘關(guān)節(jié)脫位護理課件
- 滬教牛津版小學(xué)一至六年級英語單詞匯總(最新)
- 計價格(2002)10號文
- 從銷售員到銷售總監(jiān)的六門必修課
- 格拉辛紙項目投資價值分析報告【參考模板】
- 最新四川水利工程質(zhì)量備案表格填寫范例
- 臨海市括蒼鎮(zhèn)鎮(zhèn)區(qū)控制性詳細規(guī)劃
- 《云南省建筑工程資料管理規(guī)程應(yīng)用指南)(上下冊)
- 工程更改控制程序DFCPQEOMS-06
- 送電線路工程跨越河流架線施工專項方案
- 臺州市幼兒園教師考核表.
- (完整word版)提高小學(xué)數(shù)學(xué)作業(yè)設(shè)計有效性的研究調(diào)查問卷
評論
0/150
提交評論