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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JavaBean和Servlet

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

文章目錄

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

JavaBean

通俗的講

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

JavaBean的作用

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

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

滿足一下2點 ,就可以稱為JavaBean

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

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

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

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

封裝數據的JavaBean 對應于數據庫中的一張表 (Login(name,pwd)) 封裝業務邏輯的JavaBean 用于操作
一個封裝數據的JavaBean

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

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

Servlet

回顧純手工方法創建第一個Servlet

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

借助于Eclipse快速生成Servlet

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

Servlet3.0,與Servlet2.5的區別:

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

項目根目錄:WebContent、src(所有的構建路徑)

例如:
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中的 /:代表項目根路徑

http://localhost:8888/Servlet25Project/

jsp中的/: 服務器根路徑

http://localhost:8888/

構建路徑、WebContent:根目錄

Servlet生命周期:5個階段

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

init():
a.默認第一次訪問 Servlet時會被執行 (只執行這一次)
b.可以修改為 Tomcat啟動時自動執行
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 :調用幾次,則執行幾次
destroy():關閉tomcat服務時,執行一次。

Servlet API

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

Servlet繼承關系

ServletConfig:接口

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

ServletContext中的常見方法(application):

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

Servlet3.0方式 給當前Servlet設置初始值:

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

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

Servlet使用層面

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。