麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JSP > 正文

JSP+JavaBean+Servlet工作原理實例講解

2024-09-05 00:20:34
字體:
來源:轉載
供稿:網友

  jsp+javabean兩層結構的開發應該是比較熟悉的,也比較好理解。

  但是有一點必須要清楚就是用戶通過瀏覽器來發送網頁的請求,此請求到達服務器后在服務器端查找對應的網頁,如果是首次請求(第二次就不用解釋執行了),對于jsp來說要生成servlet,然后通過servlet引擎來執行servlet,把調用javabean的結果嵌入到頁面中返回給用戶的瀏覽器。

  jsp+javabean+servlet三層結構的實質是多了一個controller:servlet來分發客戶端瀏覽器的請求。如果把起控制器作用的servlet的作用理解為對客戶端的請求進行預處理對理解servlet將有很大的幫助。通過web.xml配置文件可以找到用戶請求和特定的servlet的對應關系,每個servlet都有一個特定的servlet對象與之對應,所以說處理用戶請求的就是一個繼承自httpservlet的servlet對象。

<!-- jspc servlet mappings start -->
  <servlet>
    <servlet-name>ms1</servlet-name>
    <servlet-class>news.firstaction</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>ms2</servlet-name>
    <servlet-class>news.detailaction</servlet-class>
  </servlet>
<!-- jspc servlet mappings end -->
  <servlet-mapping>
    <servlet-name>ms1</servlet-name>
    <url-pattern>/newsmain</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ms2</servlet-name>
    <url-pattern>/newsdetail</url-pattern>
  </servlet-mapping>

  如上面所示的摘自web.xml的一段配置servlet,第一部分主要用來配置servlet與具體的servlet對象關聯,第二部分主要用來配置請求由哪個servlet處理,servlet名字的關聯,處理請求就與具體servlet處理對象關聯起來,比如說,客戶端瀏覽器發來/newsmain的請求,它由ms1 servlet進行處理,通過ms1就能找到相對應的serlet對象news.firstaction,即/newsmain->ms1->news.firstaction,這也就是配置文件的意義所在。到現在懂得了用戶/newsmain請求會被news.firstaction類的對象進行處理,所以說,要看懂程序就要看懂firstaction的作用是什么就行了。比如說下面是firstaction的一個實現。

public final class firstaction extends httpservlet {
protected void service(httpservletrequest req, httpservletresponse resp)
  throws servletexception, ioexception {
 db db = new db();
 httpsession session = req.getsession();
 try {
  session.setattribute(constants.news_list_key, news
   .searchnewstitle(db));
 } catch (exception e) {
  e.printstacktrace();
 }
 db.close();
 string target = "/p43_news/newsmain.jsp";
 resp.sendredirect(target);
}
}

  通過這個實現可以看到,當服務器收到客戶端請求執行news.searchnewstitle(db)的操作,然后把返回值通過session.setattribute放到session里,然后通過resp.sendredirect(target)間接轉移到newsmain.jsp,這樣在newsmain.jsp里通過session.getattribute函數就可以得到在存儲在session里的對應值。

  回過頭來就容易看出jsp+javabean兩層結構和jsp+javabean+servlet三層結構的不同了,兩層結構必須把預處理放在jsp中進行,比如說news.searchnewstitle(db),三層結構先把預處理在servlet里進行了,然后相當于把這個處理結果通過session返回給jsp,讓jsp更關注于界面的顯示。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久99精品久久久久久国产越南 | 久久精品中文字幕一区 | 中文字幕www. | 神马顶级推理片免费看 | 中国a级黄色片 | 男人午夜小视频 | 2019天天干夜夜操 | 男人的天堂色偷偷 | 激情小说激情图片激情电影 | 色妇视频 | 激情大乳女做爰办公室韩国 | 国产成人在线观看网站 | 日韩黄色在线播放 | 久草在线视频精品 | 久久久久久久久日本理论电影 | 日本黄色免费观看视频 | 精品一区二区三区在线观看视频 | 久久久精品视频国产 | 亚洲综合一区二区三区 | 国产小视频一区 | h视频在线观看免费 | 亚洲综合一区在线观看 | 亚洲成人夜色 | 日韩中文字幕一区二区三区 | 日韩欧美中文字幕视频 | 鲁丝片一区二区三区免费入口 | 中文字幕在线免费 | 国产精品久久久久久久久久大牛 | 日本精品免费观看 | 日本羞羞的午夜电视剧 | 香蕉秀 | 99视频网| 一级免费看片 | 草b视频在线观看 | 国内精品国产三级国产a久久 | 国产呦在线观看视频 | 久色一区| 亚洲一级片免费观看 | 欧美韩国一区 | 欧洲成人在线视频 | 国产最新网站 |