JavaBean和Servlet
文章目錄
- 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ù)庫中的一張表
封裝數(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
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
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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自己没办理过信用卡 名下却莫名出来两张信
- 下一篇: Web项目:解决eclipse中jsp文