JSP+JavaBean+Servlet技術(MVC模型)

一,Servlet開發
用戶在瀏覽器中輸入一個網址并回車,瀏覽器會向服務器發送一個HTTP請求。服務器端程序接受這個請求,并對請求進行處理,然后發送一個回應。瀏覽器收到回應,再把回應的內容顯示出來。這種請求—響應模式就是典型的Web應用程序訪問過程。
? ? ???JavaWeb應用程序中所有的請求—響應都是由Servlet完成的。Servlet是JavaWeb的核心程序,所有的網址最終都交給Servlet處理。Servlet并沒有main之類的執行方法。當用戶訪問服務器的時候,Tomcat是通過調用Servlet的某些方法來完成整個處理過程的。?
?Servlet是什么
? ?一個Servlet程序就是一個實現了特殊接口的Java類,它由支持Servlet的Web服務器調用和啟動運行。一個Servlet程序負責處理它所對應的一個或一組URL地址的訪問請求,并接收客戶端發出的訪問請求信息和產生響應內容。


Servlet程序可以完成普通Java程序所能完成的大多數任務:,
1,獲取客戶端通過HTML的FORM表單提交的數據和URL后面的參數信息
2,創建對客戶端的響應信息內容,

3,訪問服務器端的文件系統
4,連接數據庫并開發基于數據庫的應用,

5,調用其它的Java類
Servlet工作流程
瀏覽器提交的請求是遵循HTTP協議的文本。這段文本由服務器也就是Tomcat接收并解析,封裝成了HttpServletRequest類型的request對象。所有的HTTP頭數據都可以通過request相應的方法查詢到。Tomcat同時把輸出流封裝成為HttpServletResponse類型的response對象,通過設置response對象可以控制輸出的內容。在請求—響應的這個過程中,Tomcat把request對象、response對象作為參數,調用Servlet的相應方法,例如doPost(request,response)、doGet(request,response)等。

Servlet接口
Servlet是一種實現了javax.servlet.Servlet接口的類。Servlet接口規定了特定的方法來處理特定的請求。Servlet規范是建立在HTTP規范基礎上的。HTTP 1.1 規范支持OPTIONS、GET、POST、HEAD、PUT、DELETE、TRACE等7中訪問方式,其中最常用的就是GET和POST了。

GET:表示查詢信息,URL中可以附帶少量的參數信息,但是URL總長度不能超過255個字符,并且參數會顯示在瀏覽器地址欄。
POST:表示提交信息,一般用于提交大數據信息或者文件,提交的內容不受長度限制,并且不會顯示在瀏覽器地址欄中。

?

Servlet工作流程
利用Servlet完成的Web應用的實際工作流程是通過Tomcat服務器發布服務,客戶端與服務器端之間的交互遵循Http協議完成的。具體工作流程如下:

客戶端瀏覽器向服務器端發送請求。
1,服務器端由Tomcat服務器提供的Servlet容器解析接收到的請求。
2,通過Web應用程序的配置文件web.xml,解析到對應執行的Servlet。
3,Servlet完成客戶端發送的請求邏輯,并完成向客戶端發送的響應內容。
4,由Tomcat服務器提供的Servlet容器向客戶端瀏覽器進行響應。

一,Java Web應用設計模式:

?

1)采用JSP+JavaBean的技術

JSP獨自響應請求并發送處理結果給用戶,數據通過JavaBean來處理,是JSP技術發展初期經常采用模式1,適用于一些小型開發項目。

?

2)采用JSP+JavaBean+Servlet技術(MVC模型)

MVC(Model-View-Controller)模型,適用于中型以上開發項目

“模型-視圖-控制器”關系圖:

?

MVC構架設計圖:

?

?

二,Servlet中的請求轉發機制

Web應用中,常由Servlet來充當調度員的角色,把這樣的Servlet叫控制器,可以將請求轉發給另一個Servlet或JSP頁面,由它們對請求作進一步處理,并產生對請求的響應。Servlet中實現請求轉發方式:

1)共享一個request:request.getRequestDispacher(“xxx.jsp/xxxservlet”).forword(requet,response);

2)重定向:

Request.sendRedict(“xxx.jsp/xxxservlet””);

?

三,運用MVC模式開發WEB應用的步驟

1)定義bean來表示數據和封裝業務邏輯

a)定義數據Bean來表示需要顯示給用戶的結果

b)定義業務Bean來封裝業務邏輯,BeanDao.

2)使用Servlet處理用戶請求

a)根據用戶請求,將數據的處理結果寫入bean,并將其存于請求或會話的上下文中

b)通過請求轉發的形式,將請求轉發到合適的頁面,servlet不需要創建任何輸出,輸出由JSP頁面完成

2)JSP頁面輸出結果: 從bean中獲取數據輸出

?

總之:

① JSP作界面

② Servlet接受用戶請求,并作初步處理,然后將請求進行轉發

③業務處理借助Bean

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282646.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282646.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282646.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ora-01591:鎖被未分布式事物處理/Distrib tran

伴隨報錯內容:Distrib tran xxx.xxx.xx.x.xxxx 1、使用Oracle DBA用戶,查詢如下數據字典:select * from dba_2pc_pending2、強制Rollback或者Commit該事務:select commit force || local_tran_id||; from dba_2pc_pending…

bzoj2721 [Violet 5]櫻花

分析:這道題對于我這種蒟蒻來說還是很有難度啊。 思路非常巧妙,既然不定方程要有有限個數解,那么這個肯定會對解有所限制,也就是本題中的正整數.這個時候我們要表示出方程中的一個根x,設z n!,那么xyz/(y-z),這樣的話不能得到答案…

ipados 文件 連接服務器,iPadOS更新指南,總有一個功能是你需要的

近期,蘋果向部分ipad用戶推送了iPadOS系統,據系統介紹,這是一款強大的操作系統,更能體現iPad的獨特之處。iPadOS與IOS同源,針對iPad的大顯示屏和多功能增加了全新和直觀的強大功能。剛才小編給大家提到了部分iPad用戶&…

Angular 2.x 從0到1 (五)史上最簡單的Angular2教程

第一節:Angular 2.0 從0到1 (一)第二節:Angular 2.0 從0到1 (二)第三節:Angular 2.0 從0到1 (三)第四節:Angular 2.0 從0到1 (四)第五…

《大道至簡》讀后感

所謂的大道至簡就是說大道理(基本原理,方法和規律)是極其簡單的,簡單到一兩句話就能說明白。所謂“真傳一句話,假傳萬卷書”。這也許也是這本書只有一百多頁的原因吧。 說實話,《大道至簡》這部作品對現在有…

ajax 分頁 評論刷新,評論:js無刷新分頁(原創)

繁華落盡02020/4/28 0:26:00大佬,教一下怎么用,以前我是直接在按鈕上綁個路徑。首頁上一頁${i}${i}下一頁尾頁漫走32020/4/28 20:43:32后臺的方法需要的參數:當前頁、每頁顯示條數,插件都給你控制好了,你直接用就行。e…

MariaDB基礎(二)

MariaDB基礎(二)介紹關于MariaDB的如下知識點:1. 查詢緩存2. 索引3. EXPLAIN1.查詢緩存:1)什么是緩存?緩存就是數據交換的緩沖區,即Cache,存放在內存中;2)查詢緩存的數據以何種形式存…

設計模式——享元模式具體解釋

0. 前言寫在最前面,本人的設計模式類博文,建議先看博文前半部分的理論介紹。再看后半部分的實例分析。最后再返回來復習一遍理論介紹,這時候你就會發現我在重點處標紅的用心,對于幫助你理解設計模式有奇效哦~本文原創。轉載請注明…

OpenStack Nova計算服務管理(四)

作者:李曉輝聯系方式: Xiaohui_lifoxmail.com環境介紹類型控制節點和計算節點等在一起,形成all-in-one內存8G硬盤200G網卡2塊計算服務概覽使用OpenStack計算服務來托管和管理云計算系統。OpenStack計算服務是基礎設施即服務(IaaS)系統的主要部分&#xf…

miui替換官方文件解決無服務器,miui 關掉云服務器

miui 關掉云服務器 內容精選換一換本節操作介紹Linux云服務器切換密鑰登錄為密碼登錄的操作步驟。使用密鑰登錄Linux云服務器,設置root密碼。sudo passwd root若密鑰文件丟失或損壞,請參考Linux云服務器如何進入單用戶模式重置root密碼,重置r…

PHP-高并發和大流量的解決方案

一 高并發的概念 在互聯網時代,并發,高并發通常是指并發訪問。也就是在某個時間點,有多少個訪問同時到來。 二 高并發架構相關概念 1、QPS (每秒查詢率) : 每秒鐘請求或者查詢的數量,在互聯網領域,指每秒響應請求數…

原型

2019獨角獸企業重金招聘Python工程師標準>>> 什么是原型: 對象與對象之間的關系 轉載于:https://my.oschina.net/u/2285087/blog/854377

JavaScript中數組slice和splice的對比小結

前言 今天重溫了一下Javascript,看到了數組的方法,其中有兩個比較相似的方法——splice和splice,看著很像,就是多了一個p,但是用法卻相當不一樣。 在使用中,可以通過選擇一個具有強語義表達性的 API 來減少…

存儲服務器的操作系統,存儲服務器是什么操作系統

存儲服務器是什么操作系統 內容精選換一換鏡像服務提供了私有鏡像的全生命周期管理能力,主要包括創建私有鏡像,復制、共享或導出私有鏡像等操作,您可以根據實際場景選擇合適的方法,并結合彈性云服務器、對象存儲等周邊服務完成業務…

優化--減少HTTP請求

一、 圖片地圖 (將幾張圖片合為一張,根據用戶點擊的位置發送不同請求,減少了圖片的請求數量) 案例所在位置:http://stevesouders.com/hpws/imagemap.php 二、css精靈(和圖片地圖功能相似,都是將幾張圖片合并在一起,根據位置發送不同請求) 這里不做具體使用介紹,百度有此方面內…

軟件負載均衡

一、軟件負載均衡概述 硬件負載均衡性能優越,功能全面,但是價格昂貴,一般適合初期或者土豪級公司長期使用。因此軟件負載均衡在互聯網領域大量使用。常用的軟件負載均衡軟件有Nginx,Lvs,HaProxy等。本文參考大量文檔&a…

JAVA多線程之先行發生原則

一、引子   如果java內存模型中所有的有序性都僅僅依靠volatile和synchronized來完成,那么有一些操作會變得很繁瑣,但我們在編寫java并發代碼時并未感覺到這一點,這是因為java語言中有個先行發生原則(happens-before&#xff09…

git工具 將源碼clone到本地指定目錄的三種方式

git工具 將源碼clone到本地指定目錄的三種方式 CreationTime--2018年7月27日15點34分 Author:Marydon 1.情景展示 運行git-bash.exe,輸入命令:git clone 下載源碼地址-->回車,結果發現項目被下載到了,git工具的安裝目錄下 如何…

[摘]全文檢索引擎Solr系列—–全文檢索基本原理

原文鏈接--http://www.importnew.com/12707.html 全文檢索引擎Solr系列—–全文檢索基本原理 2014/08/18 | 分類: 基礎技術, 教程 | 2 條評論 | 標簽: solr 分享到: 64 本文作者: ImportNew - 劉志軍 未經許可,禁止轉載…

優化-瀏覽器緩存和壓縮優化

一、減少HTTP請求 1.圖片地圖: 假設導航欄上有五幅圖片,點擊每張圖片都會進入一個鏈接,這樣五張導航的圖片在加載時會產生5個HTTP請求。然而,使用一個圖片地圖可以提高效率,這樣就只需要一個HTTP請求。 服務器端圖片…