亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP使用Servlet作為控制器實現MVC模式實例詳解

2020-07-27 21:31:06
字體:
來源:轉載
供稿:網友

本文實例講述了JSP使用Servlet作為控制器實現MVC模式的方法。分享給大家供大家參考。具體如下:

一、目標:

① 初步理解MVC模式;
② 掌握Servlet的編寫;
③ 使用MVC模式完成登錄功能。

二、主要內容:

① 分析JSP+JavaBean模式存在的問題,并介紹JSP+JavaBean+Servlet模式,以及和MVC模式的關系;
② 通過簡單實例介紹Servlet的編寫、配置和運行;
③ 采用Servlet完成登錄功能的控制。

1、 JSP+JavaBean這種模式存在的問題?

JSP的強大之處在與人交互,也就是完成輸入輸出的功能。但是在JSP+JavaBean這種模式中,JSP不僅僅完成輸入輸出的功能,還完成系統的控制功能(接收用戶請求,調用JavaBean,然后根據調用的結果,選擇界面對用戶進行響應)。所以在JSP發展的第三個階段中,把控制功能從JSP中分離出來,使用Servlet來實現,形成JSP+JavaBean+Servlet這種模式,JSP僅僅完成輸入和輸出,JavaBean完成處理,而Servlet完成控制。

2、 JSP+JavaBean+Servlet

JSP負責輸入輸出,JavaBean負責實現業務邏輯(功能),Servlet完成控制。這種模式通常也被認為是MVC模式的一種實現。MVC模式把系統的業務邏輯、控制和輸入輸出進行分離,在開發應用的時候,可以單獨考慮某一部分,簡化開發。
V,表示視圖,與人交戶的部分,M,表示模型,完成功能,C,表示控制器。JSP通常充當視圖,JavaBean是模型,Servlet作為控制器。

3、 什么是Servlet

Servlet也是一種Web組件,從完成的功能上來說,與JSP是相同的。Servlet是純Java文件,是特殊的Java類。
Servlet與JavaBean有什么區別呢?都是Java類,但是Serlvet可以接收用戶的請求,客戶端可以直接訪問。但是JavaBean不能被客戶端直接訪問,必須由JSP或者其他的Java文件(包括Servlet)來調用。

4、 實例:HelloServlet

下面是一個Servlet,完成的功能是輸出一句話"Servlet測試!"。

1)文件編寫

package servlet;// Servlet開發所需要的包import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class HelloServlet extends HttpServlet{  public void doGet(HttpServletRequest request,HttpServletResponse response)throw IOException,ServletException  {   response.setContentType("text/html;charset=gb2312");   PrintWriter out = response.getWriter();   out.print("Servlet測試!");  }}

2)編譯

需要把C:/Program Files/Apache Software Foundation/Tomcat 6.0/lib/servlet-api.jar配置到classpath中,然后編譯。

3)配置

在配置文件web.xml中寫。包括兩部分:聲明和訪問方式設置。

聲明:

<servlet>  <servlet-name>hello</servlet-name>  <servlet-class>servlet.HelloServlet</servlet-class></serlvet>

訪問方式設置:

<servlet-mapping>  <servlet-name>hello</servlet-name>  <url-pattern>/hello</url-pattern></servlet-mapping>

5、 測試

訪問:http://127.0.0.1:8080/ch6/hello

6、 如何采用這種模式實現登錄功能?

界面界面和響應界面都不需要修改,JavaBean完成處理,也不需要改變,只是使用Servlet來替換原來的login-process.jsp,完成控制功能。

1)參考代碼如下:

package servlet;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import javabean.*;public class LoginProcess extends HttpServlet{  public void doGet(HttpServletRequest request,HttpServletResponse response)   throws IOException,ServletException  {   // 第一步:獲取用戶的輸入信息   String username = request.getParameter("username");   String userpass = request.getParameter("userpass");   // 第二步:調用JavaBean   User user = new User();   user.setUsername(username);   user.setUserpass(userpass);   boolean b = user.check();   // 第三步:選擇一個界面對用戶進行響應   String forward;   if(b)     forward = "success.jsp";   else     forward = "failure.jsp";   RequestDispatcher rd = request.getRequestDispatcher(forward);   rd.forward(request,response);  }}

上面的代碼基本上展示了Servlet作為控制器的基本功能。

2)配置

  <servlet>   <servlet-name>process</servlet-name>   <servlet-class>servlet.LoginProcess</servlet-class>  </servlet>  <servlet-mapping>   <servlet-name>process</servlet-name>   <url-pattern>/process</url-pattern>  </servlet-mapping>

3)修改登錄界面的action屬性

<%@ page contentType="text/html;charset=gb2312"%>請登錄<br><form name="form1" method="post" action="process">  用戶ID:<input type="text" name="username"><br>  口令:<input type="password" name="userpass"><br>    <input type="submit" value="登錄"><input type="reset" value="重置"></form><%@ include file="contact.jsp"%>

7、 測試運行

訪問登錄界面,輸入信息,然后提交。
這時候會報錯,提示請求方式不支持。需要在Servlet中增加如下方法:

public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException{   doGet(request,response);}

因為JSP頁面中的請求方式為post,所以Servlet中需要提供doPost方法,方法的定義和doGet相同,這里方法的實現只需要調用doGet方法即可。

8、 Servlet的主要方法

init方法,用于初始化;
服務類方法:doGet方法和doPost方法
destroy方法,釋放資源

9、 生命周期

服務器接收到請求之后,會把請求信息封裝成HttpServletRequest對象和HttpServletResponse對象。
第一次訪問servlet的時候,加載類,創建對象,初始化(init方法),調用服務類方法(如果是get請求,調用doGet方法,如果是post請求,調用doPost方法)。
后續訪問,直接調用服務器類方法。
卸載Servlet的時候,或者關閉服務器的時候,調用destroy方法釋放資源。

希望本文所述對大家的JSP程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美美最猛性xxxxxx| 91在线中文字幕| 日韩中文字幕亚洲| 亚洲欧洲视频在线| 亚洲欧美日韩精品久久亚洲区| 国产主播精品在线| 国产在线精品成人一区二区三区| 国产69精品久久久久99| 欧美在线免费看| 日韩精品www| 一区二区亚洲欧洲国产日韩| 欧美日韩国产91| 成人羞羞国产免费| 亚洲一区二区免费| 韩国v欧美v日本v亚洲| 国产精品福利久久久| 色先锋久久影院av| 日本精品一区二区三区在线播放视频| 色悠悠国产精品| 一本色道久久88精品综合| 久久精品男人天堂| 国产精品综合网站| 亚洲人成网站777色婷婷| 91亚洲永久免费精品| 亚洲第一免费播放区| 亚洲综合中文字幕在线观看| 51ⅴ精品国产91久久久久久| 日韩美女主播视频| 亚洲午夜av电影| 韩国精品久久久999| 国产精品综合网站| 欧美亚洲国产精品| 欧美成年人在线观看| 最近2019年中文视频免费在线观看| 国产精品流白浆视频| 日韩在线观看视频免费| 亚洲精品av在线| 欧美日韩亚洲天堂| 精品综合久久久久久97| 成人免费观看网址| 国产美女久久精品| 欧美精品电影免费在线观看| 日韩成人高清在线| 亚洲国产成人在线视频| 清纯唯美亚洲激情| 国产一区二区久久精品| 亚洲欧美日韩成人| 成人性生交大片免费看小说| 日韩电视剧在线观看免费网站| 精品国产欧美一区二区五十路| 国产在线高清精品| 在线看日韩av| 久久视频在线视频| 欧美视频在线看| 日韩中文在线中文网在线观看| 国产视频亚洲视频| 456国产精品| 日韩在线视频二区| 成人疯狂猛交xxx| 日韩欧美精品在线观看| 亚洲天堂网站在线观看视频| 久久久久久一区二区三区| 91日韩在线视频| 久久精品成人一区二区三区| 国产suv精品一区二区| 久久夜精品va视频免费观看| 精品呦交小u女在线| 亚洲xxxxx| 欧美成人国产va精品日本一级| 国产精品福利无圣光在线一区| 国产精品第8页| 日韩美女视频免费看| 成人综合网网址| 久久99国产精品自在自在app| 国产精品av电影| 欧美日韩精品二区| 成人亚洲欧美一区二区三区| 欧美日韩成人精品| 国内伊人久久久久久网站视频| 欧美中在线观看| 国产精品99久久99久久久二8| 国产在线精品一区免费香蕉| 国产精品电影网站| 狠狠做深爱婷婷久久综合一区| 日韩a**站在线观看| 97人洗澡人人免费公开视频碰碰碰| 日韩在线免费视频观看| 日韩成人激情影院| 亚洲欧美综合区自拍另类| 国产91精品青草社区| 中文字幕免费精品一区| 久久91精品国产91久久久| 午夜剧场成人观在线视频免费观看| 亚洲美女中文字幕| 国产欧美欧洲在线观看| 亚洲精品国产免费| 久久久久久97| 久久福利视频导航| 亚洲欧美一区二区三区情侣bbw| xxav国产精品美女主播| 91国产高清在线| 国产精品一区二区性色av| 国产精品美女主播在线观看纯欲| 在线观看欧美日韩国产| 色视频www在线播放国产成人| 亚洲日韩中文字幕在线播放| 欧洲永久精品大片ww免费漫画| 久久影视电视剧免费网站清宫辞电视| 日韩人在线观看| 91精品国产91久久久久福利| 91福利视频在线观看| 久久人人爽国产| 国产成人涩涩涩视频在线观看| 日韩av有码在线| 日韩中文字幕不卡视频| 日韩精品视频免费专区在线播放| 欧美另类在线播放| 久久这里只有精品视频首页| 中文字幕欧美在线| 色系列之999| 韩国视频理论视频久久| 日韩中文字幕在线看| 欧美成人小视频| 亚洲色图色老头| 91国偷自产一区二区三区的观看方式| 国产精品揄拍500视频| 国产精品成人国产乱一区| 日韩精品免费观看| 精品久久久久久中文字幕大豆网| 日韩中文字在线| 国产欧洲精品视频| 欧美资源在线观看| 日韩女优人人人人射在线视频| 97超级碰碰碰| 亚洲国产古装精品网站| 欧美中文字幕在线视频| 亚洲国产精品yw在线观看| 亚洲3p在线观看| 国产精品视频免费在线| 中文字幕日韩欧美在线视频| 亚洲18私人小影院| 国产精品wwwwww| 国产婷婷色综合av蜜臀av| 欧美专区在线播放| 欧美做受高潮电影o| 欧美大学生性色视频| 亚洲欧洲黄色网| 久久视频在线播放| 国产精品日韩欧美大师| 亚洲精品自在久久| 日韩a**站在线观看| 欧美激情精品久久久久久久变态| 亚洲欧美日韩一区二区三区在线| 91在线观看免费高清完整版在线观看| 欧美日韩国产中文精品字幕自在自线| 国产精品久在线观看| 亚洲欧美中文字幕| 另类色图亚洲色图| 中文字幕精品网| 久久久久北条麻妃免费看| 日韩hd视频在线观看| 欧美激情在线视频二区| 精品视频在线播放色网色视频| 欧美午夜片在线免费观看|