好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > JSP使用Servlet作為控制器實現MVC模式實例詳解

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

熱門標簽:四川保險智能外呼系統商家 北票市地圖標注 電銷機器人好賣么 地圖標注線上教程 高德地圖標注樣式 電銷機器人是有一些什么技術 杭州ai語音電銷機器人功能 杭州語音電銷機器人軟件 商洛電銷

本文實例講述了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程序設計有所幫助。

您可能感興趣的文章:
  • JSP使用MVC模式完成刪除和修改功能實例詳解
  • springMVC如何將controller中數據傳遞到jsp頁面
  • springMVC如何將controller中Model數據傳遞到jsp頁面
  • SpringMVC 向jsp頁面傳遞數據庫讀取到的值方法
  • 淺談SpringMVC jsp前臺獲取參數的方式 EL表達式
  • JSP開發中在spring mvc項目中實現登錄賬號單瀏覽器登錄
  • JSP中springmvc配置validator的注意事項
  • JavaWeb實現用戶登錄注冊功能實例代碼(基于Servlet+JSP+JavaBean模式)
  • jsp 實現的簡易mvc模式示例

標簽:西藏 青島 丹東 江西 云浮 貴州 宿州 紅河

巨人網絡通訊聲明:本文標題《JSP使用Servlet作為控制器實現MVC模式實例詳解》,本文關鍵詞  JSP,使用,Servlet,作為,控制器,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP使用Servlet作為控制器實現MVC模式實例詳解》相關的同類信息!
  • 本頁收集關于JSP使用Servlet作為控制器實現MVC模式實例詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产老头老太作爱视频| 日本欧美中文字幕人在线| 5060一级毛片午夜免费看果冻| 顶级直播成人直播app下载| 亚洲精品秘?一区二区三区在线观看 | 一本色道久久综合狠狠躁篇| 我要打飞机8x8x| 女友被强做到呻吟H漫画视频| 纯欧美一级全免费毛片| 好紧好滑好湿好爽免费视频| 国产女主播一二三区丝袜美腿| 宝贝乖~腿开大一点就不疼了| 337P张筱雨人体大胆瓣开下部 | 韩国电影毛片| 精品久久久久久亚洲偷窥女厕麻豆 | sp被主人狠狠调教打屁股| NP高H文在体院挨C| 欧美亚洲国产另类丰满| 2023亚洲色噜噜狠狠网站| 小猪视频罗志祥在线观看2021 | 真实小受叫床声mp3| 色戒未减删| 日本精产品一二三| 久久国产精品2020免费m3u8| 最新91精品老司机在线| 给男配撑腰(快穿)| 美女扒开腿秘?让人桶爽| 一级婬片A片AAAA毛片A级 | 亚洲精品天堂在线| 超碰中文字幕| 三根硕大一起挤入她的花苞演员表| 无码国产AV精品一区二区视频| 国产欧美日韩另类va在线| 91天天射| 低调看直播jrs| 在线97| 激烈大尺度叫床的床戏长视频 | 国产亚洲精品美女2020久久| 91久久偷偷做嫩草影院| 别舔花核| 男男gaygays免费视频|