日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

JavaBean和Servlet

發(fā)布時間:2025/3/8 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaBean和Servlet 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

    • JavaBean
      • 通俗的講
      • JavaBean的作用
    • JavaBean(就是一個Java類)的定義
      • 使用層面,Java分為2大類:
    • Servlet
      • 回顧純手工方法創(chuàng)建第一個Servlet
      • 借助于Eclipse快速生成Servlet
      • Servlet3.0,與Servlet2.5的區(qū)別:
      • 項(xiàng)目根目錄:WebContent、src(所有的構(gòu)建路徑)
      • Servlet生命周期:5個階段
      • Servlet API
      • Servlet繼承關(guān)系
      • Servlet使用層面

JavaBean

通俗的講

我們將 jsp中登錄操作的代碼 轉(zhuǎn)移到了LoginDao.java;
其中LoginDao類 就稱之為JavaBean。

JavaBean的作用

a.減輕的jsp復(fù)雜度
b.提高代碼復(fù)用(以后任何地方的登錄操作,都可以通過調(diào)用LoginDao實(shí)現(xiàn))

JavaBean(就是一個Java類)的定義

滿足一下2點(diǎn) ,就可以稱為JavaBean

a.public 修飾的類 ,public 無參構(gòu)造b.所有屬性(如果有) 都是private,并且提供set/get (如果boolean 則get 可以替換成is)

使用層面,Java分為2大類:

a.封裝業(yè)務(wù)邏輯的JavaBean (LoginDao.java封裝了登錄邏輯)
邏輯可以將jsp中的JDBC代碼,封裝到Login.java類中 (Login.java)
b.封裝數(shù)據(jù)的JavaBean (實(shí)體類,Student.java Person.java )
數(shù)據(jù)對應(yīng)于數(shù)據(jù)庫中的一張表

Login login = new Login(uname,upwd) ;//即用Login對象 封裝了2個數(shù)據(jù)(用戶名 和密碼)

封裝數(shù)據(jù)的JavaBean 對應(yīng)于數(shù)據(jù)庫中的一張表 (Login(name,pwd)) 封裝業(yè)務(wù)邏輯的JavaBean 用于操作
一個封裝數(shù)據(jù)的JavaBean

可以發(fā)現(xiàn),JavaBean可以簡化 代碼(jsp->jsp+java)、提供代碼復(fù)用(LoginDao.java)

public void sleep(String name,String place, int time) {}public void sleep(Person per) {per.getName()per.getPlace()...

Servlet

回顧純手工方法創(chuàng)建第一個Servlet

編寫一個類,繼承HttpServlet 重寫doGet()、doPost()方法 編寫web.xml 中的servlet映射關(guān)系

借助于Eclipse快速生成Servlet

直接新建Servlet即可!(繼承、重寫、web.xml 可以借助Eclipse自動生成)

Servlet3.0,與Servlet2.5的區(qū)別:

Servlet3.0不需要在web.xml中配置,但 需要在 Servlet類的定義處之上編寫
注解@WebServlet(“url-pattern的值”) 匹配流程: 請求地址 與@WebServlet中的值
進(jìn)行匹配,如果匹配成功 ,則說明 請求的就是該注解所對應(yīng)的類

項(xiàng)目根目錄:WebContent、src(所有的構(gòu)建路徑)

例如:
WebContent中有一個文件index.jsp
src中有一個Servlet.java

如果: index.jsp中請求 <a href="abc">...</a> ,則 尋找范圍:既會在src根目錄中找 也會在WebContent根目錄中找 如果:index.jsp中請求<a href="a/abc"></a>,尋找范圍:先在src或WebContent中找a目錄,然后再在a目錄中找abc

web.xml中的 /:代表項(xiàng)目根路徑

http://localhost:8888/Servlet25Project/

jsp中的/: 服務(wù)器根路徑

http://localhost:8888/

構(gòu)建路徑、WebContent:根目錄

Servlet生命周期:5個階段

加載
初始化: init() ,該方法會在 Servlet被加載并實(shí)例化的以后 執(zhí)行
服務(wù) :service() ->doGet() doPost
銷毀 :destroy(), Servlet被系統(tǒng)回收時執(zhí)行
卸載

init():
a.默認(rèn)第一次訪問 Servlet時會被執(zhí)行 (只執(zhí)行這一次)
b.可以修改為 Tomcat啟動時自動執(zhí)行
i.Servlet2.5: web.xml

<servlet>...<load-on-startup>1</load-on-startup></servlet>//其中的“1”代表第一個。//ii.Servlet3.0@WebServlet(value="/WelcomeServlet" ,loadOnStartup=1)

service() ->doGet() doPost :調(diào)用幾次,則執(zhí)行幾次
destroy():關(guān)閉tomcat服務(wù)時,執(zhí)行一次。

Servlet API

由兩個軟件包組成: 對應(yīng)于HTTP協(xié)議的軟件包、對應(yīng)于除了HTTP協(xié)議以外的其他軟件包
即Servlet API可以適用于任何通信協(xié)議。
我們學(xué)習(xí)的Servlet,是位于javax.servlet.http包中的類和接口,是基礎(chǔ)HTTP協(xié)議。

Servlet繼承關(guān)系

ServletConfig:接口

ServletContext getServletContext():獲取Servlet上下文對象 application String getInitParameter(String name):在當(dāng)前Servlet范圍內(nèi),獲取名為name的參數(shù)值(初始化參數(shù))

ServletContext中的常見方法(application):

getContextPath():相對路徑 getRealPath():絕對路徑 setAttribute()getAttribute() String getInitParameter(String name);在當(dāng)前Web容器范圍內(nèi),獲取名為name的參數(shù)值(初始化參數(shù))

Servlet3.0方式 給當(dāng)前Servlet設(shè)置初始值:

@WebServlet( .... , initParams= {@WebInitParam(name="serveltparaname30",value="servletparavalue30") }) 注意,此注解只 隸屬于某一個具體的Servlet ,因此無法為 整個web容器設(shè)置初始化參數(shù) (如果要通過3.0方式設(shè)置 web容器的初始化參數(shù),仍然需要在web.xml中設(shè)置)

HttpServletRequest中的方法:(同request),例如setAttrite()、getCookies()、getMethod()
HttpServletResponse中的方法:同response

Servlet使用層面

Eclipse中在src創(chuàng)建一個Servlet,然后重寫doGet() doPost()就可以 (doGet() doPost()只需要編寫一個)

總結(jié)

以上是生活随笔為你收集整理的JavaBean和Servlet的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。