Java Web框架之三層模型-JSP+JavaBean+servlet實現

六、JavaWeb三層模型-JSP+JavaBean+servlet實現

6.1、JSP+JavaBean+servlet框架總體說明

新建web項目: JSP_JavaBean_servlet

該項目是在JSP_JavaBean基礎上開發的。

 

這個框架中多了servlet的技術,servlet這裏只做簡單介紹,詳細的學習請看其他學習資料。

 

本節包含三個部分:

1、servlet技術基礎

2、過濾器和監聽器——servlet經典實例

3、servlet業務應用——ServletBean.java

 

源代碼下載: csdn官網

http://download.csdn.net/detail/big2008bone/8860745

實例需求,請看博文:

http://blog.csdn.net/big2008bone/article/details/46682421

6.2、JSP+JavaBean+servlet技術實現

1、servlet基礎技術

Servlet的主要功能在於接收瀏覽器的請求,並將請求信息發送給server(doGet,doPost),將處理完,生成的響應內容發送回瀏覽器。

早期用來產生動態網頁服務方法是用CGI。

那我們使用servlet有哪些優勢:

1、Servlet是用java開發的,支持跨平臺

2、每個servlet都是在同一個進程下創建線程來處理。相同請求會用同一個線程,避免資源消耗過多(CGI消耗大)

3、servlet可以用來擴充其他類型的server,比如FTPservlet。

 

Servlet生命週期

 

Servlet重要函數

Init();

Service(); 指的是doGet(), doPost();

Destroy();

GetServletConfig()

GetServletInfo()

 

 

2、過濾器和監視器servlet經典實例

過濾器一般用於對全局的可匹配的訪問頁面進行統一的處理,體現即插即用的思想,比如頁面的編碼設置,會話控制,頁面權限控制等,特殊業務的控制。

實例代碼:

請查看《開發者突擊javaweb主流框架整合開發》

 

監聽器一般用作用戶莫一個事件的觸發監聽,比如監聽用戶來訪和退出,某一數據事件的發生。等監控功能。

實例代碼:

請查看《開發者突擊javaweb主流框架整合開發》

 

3、servlet業務應用

1、web.xml添加servlet配置。

新建UserServlet.java文件,web.xml自動添加如下配置。

 

 

2、完成Userservlet代碼編寫

UserServlet從HttpServlet繼承下來,覆蓋doGet和doPost方法。在doGet中進行請求的分發處理。使用method參數作爲請求處理的標識。如果參數值爲空,則非法請求,其他如下:

Login登入請求

Logout導出請求

Register註冊請求

 

 

登入



修改爲

登出

修改welcome.jsp

註冊

修改register.jsp


 

測試URL地址:

http://localhost:8080/JSP_JavaBean_servlet/login.jsp

 

6.3、程序結構總結

和JSP+JavaBean框架比起來,我們新增servlet類的使用,目錄Src上新增com.demo.servlet和UserServlet內容, 

同時刪除了login_action.jsp、logout_action.jsp

register_action.jsp文件: 如下

 

架構圖

Request –> servlet <->JavaBean <-> Jdbc <->db

Response <-JSP

將servlet替代JSP文件

 

如何在該架構上開發新功能。

1、       JSP表單顯示開發 –表現層,負責用戶交互

2、       Servlet響應文件開發 –響應Jsp的請求,調用JavaBean處理

3、       JavaBean類文件開發 – 負責操作數據庫

4、       並在web.xml中配置servlet映射。

 

 

友情提示:在學習JSP之前,應該優先學習Servlet,servlet纔是javaweb開發的最基礎的技術。


接下來,我們引入常用框架的介紹,比如struts1.*, spring, hibernate,springmvc,struts2.*等等來學習四層模型的搭建。


請期待後面的博文。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章