導航:首頁 > 編程語言 > javaservlet對象

javaservlet對象

發布時間:2024-05-26 21:39:45

java Servlet實例什麼時候唄創建

如果你設置<load-on-startup>的值是一個大於0的數,則tomcat在啟動時就會創建servlet,如果沒有設置這個屬性,則是第一次訪問時創建

Ⅱ javaweb開發中有servlet,model,po,vo,,impl的屬於什麼框架

servlet:一般作控制器
model:資料庫實體對象
PO(persistant object) 持久對象
在o/r
映射的時候出現的概念,如果沒有o/r映射,就沒有這個概念存在了.通常對應數據模型(資料庫),本身還有部分業務邏輯的處理.可以看成是與資料庫中的表
相映射的java對象.最簡單的PO就是對應資料庫中某個表中的一條記錄,多個記錄可以用PO的集合.PO中應該不包含任何對資料庫的操作.

VO(value object) 值對象
通常用於業務層之間的數據傳遞,和PO一樣也是僅僅包含數據而已.但應是抽象出的業務對象,可以和表對應,也可以不,這根據業務的需要.個人覺得同DTO(數據傳輸對象),在web上傳遞.

BO(business object) 業務對象
從業務模型的角度看,見UML元件領域模型中的領域對象.封裝業務邏輯的java對象,通過調用DAO方法,結合PO,VO進行業務操作.

POJO(plain ordinary java object)
簡單無規則java對象
純 的傳統意義的java對象.就是說在一些Object/Relation
Mapping工具中,能夠做到維護資料庫表記錄的persisent object完全是一個符合Java
Bean規范的純Java對象,沒有增加別的屬性和方法.我的理解就是最基本的Java
Bean,只有屬性欄位及setter和getter方法!.

DAO(data access object)
數據訪問對象
是sun的一個標准j2ee設計模式,這個模式中有個介面就是DAO,它負責持久層的操作.為業務層提供介面.此對象用於訪問資料庫.通常和PO結合使
用,DAO中包含了各種資料庫的操作方法.通過它的方法,結合PO對資料庫進行相關的操作.夾在業務邏輯與資料庫資源中間.配合VO,
提供資料庫的CRUD操作...

DTO (Data Transfer
Object)數據傳輸對象
主要用於遠程調用等需要大量傳輸對象的地方。
比如我們一張表有100個欄位,那麼對應的PO就有100個屬性。
但是我們界面上只要顯示10個欄位,
客戶端用WEB service來獲取數據,沒有必要把整個PO對象傳遞到客戶端,
這時我們就可以用只有這10個屬性的DTO來傳遞結果到客戶端,這樣也不會暴露服務端表結構.到達客戶端以後,如果用這個對象來對應界面顯示,那此時它的身份就轉為VO

impl:介面的實現類

Ⅲ Java中的Servlet的定義,Servlet的具體用途

Servlet是一個實現了Servlet介面的類,一個與訪問協議和平台無關的、運行在Servlet容器中的Java程序

針對Servlet實現技術,SUN公司提供了一套標準的Java Servlet API以便於更快速、規范地開發Servlet程序。這套Servlet API中,最重要的兩個軟體包是:javax.servlet、javax.servlet.http。

javax.servlet是一個與通信協議無關的通用軟體包;javax.servlet.http是一個支持HTTP訪問協議的軟體包,這兩個軟體包的同時存在,使得Servlet API能支持任何協議的請求/響應。

在javax.servle中,包含著一套常用介面,負責承擔指定的任務。下表中列出了常用的類和介面:


javax.servlet軟體包:

javax.servlet包中定義了與通信協議無關的介面和類。

常用介面:

RequestDispatcher、Servlet、ServletConfig、ServletContext、ServletRequest、ServletResponse。

常用類:

GenericServlet、ServletInputStream、ServletOutputStream。

1、RequestDispatcher介面

public interface RequestDispatcher;

資源調度器介面,用於定義一個在伺服器內部直接實現資源轉發的對象。

RequestDispatcher對象由Servlet容器創建,用於封裝並調度由一個特定的URL定義的伺服器資源。

(1)請求傳遞方法

public void forward(ServletRequest request,

ServletReponse response) throws ServletException,IOException

從一個Servlet向伺服器上的另一個資源傳遞請求。

將請求轉發給其他資源時,將由被調用的資源負責對請求作出響應,而原先Servlet的執行則終止。

public void include(ServletRequest request,

ServletResponse response) throws ServletException,IOException

從一個Servlet向伺服器上的另一個資源傳遞請求。

將請求轉發給其他資源時,被調用的Servlet對該請求作出的響應將並入原先的響應對象中,原先的Servlet還可以繼續輸出響應消息。

2、Servlet介面

public interface Servlet;

開發一個Servlet需要實現的基礎介面。

介面中定義了5個方法:

init():Servlet初始化方法,通過init()方法可以獲得容器創建的ServletConfig對象

service():請求處理方法

destroy():Servlet實例銷毀方法

getServletConfig():獲取ServletConfig配置對象方法

getServletInfo():獲取Servlet相關信息方法

(1)初始化方法

public void init(ServletConfig config) throws ServletException

Servlet容器會在Servlet實例化之後,調用init方法對Servlet對象進行初始化,該方法由Servlet容器順序調用,無需Servlet自身考慮何時執行。

(2)服務方法

public void service(ServletRequest request,

ServletResponse response) throws ServletException,IOException

當Servlet容器接收到客戶請求時,調用service方法響應客戶請求,service方法在Servlet實例化、初始化之後被調用,並且可以被多次調用。

(3)銷毀方法

public void destroy()

當Servlet實例從伺服器中移除或服務停止時,Servlet容器調用destroy方法銷毀Servlet實例。

(4)獲取Servlet配置對象方法

public ServletConfig getServletConfig()

獲取一個由Servlet容器創建的ServletConfig配置對象,這個對象常常用在Servlet初始化方法中,將初始化參數封裝在ServletConfig對象中,然後傳遞給Servlet。

(5)獲取Servlet相關信息方法

public String getServletInfo()

獲取關於Servlet的一些相關信息,返回的字元串是純文本格式而不帶有任何標記(例如:HTML、XML等)。

3、ServletConfig介面

public interface ServletConfig;

Servlet配置信息介面,在Servlet初始化時,Servlet容器將Servlet初始化參數封裝在ServletConfig對象中,並傳遞給Servlet,一個Servlet實例只有一個ServletConfig對象。

介面中,只定義了4個方法:

getInitParameter():獲取Servlet指定初始化參數的值

getInitParameterNames():獲取Servlet所有初始化參數名稱

getServletContext():獲取Servlet容器為WEB應用創建的Servlet上下文環境對象ServletContext

getServletName():獲取Servlet名稱

(1)獲取初始化參數方法

public String getInitParameter(String name)

根據初始化參數名稱,獲取Servlet指定初始化參數的值,如果指定的參數不存在,返回空值null。

public Enumeration getInitParameterNames()

獲取Servlet所有初始化參數名稱,如果Servlet沒有初始化參數,返回一個空列表。

(2)獲取Servlet上下文環境方法

public ServletContext getServletContext()

獲取Servlet容器為WEB應用創建的Servlet上下文環境對象ServletContext,WEB伺服器啟動的時候,在載入WEB應用時,為每個載入的WEB應用創建一個代表WEB應用Servlet上下文環境對象。

(3)獲取Servlet名稱方法

public String getServletName()

獲取正在訪問的這個Servlet的名稱。

以上就是Servlet相關問題的解答,更多關於Java Web方面的問題可以看下這個詳細的視頻教程網頁鏈接,希望我的回答能幫到你。

Ⅳ Java Servlet 的核心工作機制

Servlet是運行在Servlet容器中的,由Servlet容器來負責Servlet實例的查找、創建以及整個生命周期的管理,Servlet整個生命周期可以分為四個階段:類裝載及實例創建階段、實例初始化階段、服務階段以及實例銷毀階段。
類裝載及實例創建階段

默認情況下,Servlet實例是在接受到第一個請求時進行創建並且以後的請求進行復用,如果有Servlet實例需要進行一些復雜的操作,需要在初始化時就完成,比如打開文件、初始化網路連接等,可以配置在伺服器啟動時就創建實例,具體配置方法為在聲明servlet標簽中添加<load-on-startup>1</load-on-startup>標簽。
初始化 init(ServletConfig config)

一旦Servlet實例被創建,將會調用Servlet的inint方法,同時傳入ServletConfig實例,傳入Servlet的相關配置信息,init方法在整個Servlet生命周期中只會調用一次。
服務 services()

為了提高效率,Servlet規范要求一個Servlet實例必須能夠同時服務於多個客戶端請求,即service()方法運行在多線程的環境下,Servlet開發者必須保證該方法的線程安全性。
銷毀 destory()

當Servlet容器將決定結束某個Servlet時,將會調用destory()方法,在destory方法中進行資源釋放,一旦destory方法被調用,Servlet容器將不會再發送任何請求給這個實例,若Servlet容器需再次使用該Servlet,需重新再實例化該Servlet實例。

二、Servlet執行流程

web伺服器接受到一個http請求後,web伺服器會將請求移交給servlet容器,servlet容器首先對所請求的URL進行解析並根據web.xml 配置文件找到相應的處理servlet,同時將request、response對象傳遞給它,servlet通過request對象可知道客戶端的請求者、請求信息以及其他的信息等,servlet在處理完請求後會把所有需要返回的信息放入response對象中並返回到客戶端,servlet一旦處理完請求,servlet容器就會刷新response對象,並把控制權重新返回給web伺服器。

三、與其它技術的比較

與其它服務相比servlet有以下的一些優點:

1、運行速度上比CGI快,因為使用了多線程
2、servlet使用了標準的api,可被許多web服務支持
3、與系統無關性,一次編譯多次使用

轉自http://www.javaeye.com/topic/952866

Ⅳ java servlet接收參數如何轉變成對象

有多種方法,簡單的是用javabean,還有一種是ObjectOutputStream。

Ⅵ 什麼是servlet

1.什麼是SERVLET?

Servlet是用Java編寫的伺服器端程序, 其主要功能在於互動式地瀏覽和修改數據,生成動態Web內容.
狹義的Servlet是指Java語言實現的一個介面,廣義的Servlet是指任何實現了這個Servlet介面的類,一般情況下,我們一般將Servlet理解為後者。

這段話可能聽起來有些繞, 但如果大家把Servlet與Spring MVC 的前端控制器 DispatcherServlet
結合起來理解, 應該立馬就知道它是做什麼的了. Servlet 是Java JDK提供的一個介面, 所有的Servlet都繼承於它,
而DispatcherServlet是一個繼承了實現了Servlet介面的類的類.

2.知識剖析

Servlet 的生命周期

Servlet 的生命周期分為三個階段, 分別對應Servlet中的三個介面.

init() 初始化.
service() 處理客戶端的請求, 具體業務邏輯. ServletRequest 對象用於獲得客戶端信息,ServletResponse 對象用於向客戶端返回信息(客戶端可以理解為瀏覽器)
destroy() 結束時調用. 這個方法只有在servlet的service方法內的所有線程都退出的時候,或在超時的時候才會被調用。

init() 和 destroy() 都只會在Servlet創建和銷毀時調用一次, 而service() 則會在響應不同請求時多次調用.

注意Servlet是一個介面,實現了servlet的類,是不能直接處理請求的.

請求需要通過Servlet容器來發送到Servlet, Servlet是運行在Servlet容器中的.

Servlet容器是Web伺服器和servlet進行交互的必不可少的組件。常見Web伺服器有Tomcat, jetty, resin, 它們也可以稱為應用伺服器

3.常見問題

1. Servlet 如何接收才能接收到Servlet容器發來的請求?

2. Servlet 什麼時候被初始化?

3. DispatcherServlet 如何處理容器發來的請求?

4.解決方案
1. Servlet 容器通過監聽埠(8080)來接收用戶發送的請求, 然後通過web.xml中的 Servlet-mapping 配置, 來匹配到請求Heades中的url信息, 將其轉發到對應Servlet配置中的Servlet實現類完成請求接收.

2. Servlet 的初始化是由Web.xml 中的 loadOnStartup 配置控制的.
當 loadOnStartup < 0 或者不寫時, 接收到第一次請求的時候實例化.
當 loadOnStartup > 0 web容器啟動的時候做實例化處理,順序是由小到大,正整數小的先被實例化

當 loadOnStartup = 0 web容器啟動的時候做實例化處理,相當於是最大整數,因此web容器啟動時,最後被實例化

3. 通過DispatcherServlet 的執行流程來看它時如何處理請求的

希望對您有所幫助!~

Ⅶ JavaWeb開發中Servlet是那一層以及用法

JavaWeb開發中Servlet是屬於控制層最底端的部分的 ,也就是MVC c的最底層。

他往往用來處理請求的。他的外一層就是View、他的一層就是Service(Servlet往往調用他做邏輯判斷的操作)


原始的Servlet的生命周期

servlet在第一次訪問的時候就會被初始化


servlet對象一旦被創建就會駐留在內存中,當伺服器關閉或者web應用被移除的時候servlet對象才銷毀



1:當servlet被創建的時候那麼 servlet就會被初始化 調用init方法


2:任何請求來自客戶端,service方法就會被自動調用


3:當servlet從伺服器被移除的時候 distroy方法將會被調用


如下是一個原始的Servlet代碼(這並不是現在開發一貫的做法,請往下看)

importjavax.servlet.*;
classFirstServlet
extendsGenericServlet{
publicvoid
service(ServletRequestrequest,ServletResponseresponse)
throwsServletException,java.io.IOException
{
response.getWriter().write("hello
servlet");
}
}


ServletConfig

getServletConfig 方法 用來獲得servlet的啟動信息,和getServletInfo方法 可以活的servlet的基本信息,和關於它自己的一些信息,例如作者,版本,版權等

為Servlet設置初始參數要在web.xml中配置(只對當前servlet有效)

如下是在Web.xml中為當前servlet配置初始化參數的。

<servlet>
<servlet-name>ServletConfigDemo</servlet-name>
<servlet-class>
cn.itcast.servlet.ServletConfigDemo</servlet-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>encoding2</param-name>
<param-value>utf-9</param-value>
</init-param>
</servlet>

ServletCofig對象可以通過this.getServletConfig來獲得,因為在父類中已經在獲得了ServletConfig對象;也可以servletconfig對象可以通過父類的init方法內穿過來的config對象獲取

publicvoidinit(ServletConfigconfig)throwsServletException{this.config=
config;this.init();}()
{returnconfig;}

ServletContext

通常我們稱ServletContext叫Application對象 。也叫域對象


Servlet引擎為每個WEB應用程序都創建一個對應的ServletContext對象,ServletContext對象被包含在ServletConfig對象中,調用ServletConfig.getServletContext方法可以返回


通常獲得ServletContext的方法是直接getservletcontext
因為在父類中已經定義了這樣的方法,子類直接繼承使用


ServletContext對象的引用。getServletContext().getInitParameter("a")
的方式獲得web應用的初始化參數


我們還可以為整個web應用配置初始化參數

Request & Response

基本servlet 中service的方法的request 和 response 對象分別是


RequestFacade 和 ResponseFacade 這個類是Tomcat中的類
他繼承自HttpServletRequest而 HttpServletRequest 又繼承 ServletRequest(Response同理)


一些常用方法:

request.getRequestURL();獲得URl



request.getHeader("accept-encoding"); 獲得支持的壓縮格式



request.getHeader("referer");獲得來自哪裡(防盜鏈)



request.getInputStream(); 獲得消息體



request.getParameter("name") 獲得參數

如下是現代開發中常用的Servlet

publicclass

{
publicvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsServletException,IOException
{
}
publicvoid
doPost(HttpServletRequestrequest,HttpServletResponse
response)
throws
ServletException,IOException{
doGet(request,
response);
}
}


閱讀全文

與javaservlet對象相關的資料

熱點內容
數據區域下移一行該怎麼辦 瀏覽:679
華為賬號用qq注冊賬號 瀏覽:327
台達plc編程完成怎麼試運行 瀏覽:412
華為b137升級包下載 瀏覽:992
美團發布數據報告去哪裡看 瀏覽:146
js的隱藏div顯示 瀏覽:637
ps教程圖片轉換為粉筆字 瀏覽:816
下載網易雲音樂最新版本 瀏覽:165
原神的數據文件指什麼 瀏覽:725
解壓找不到合適文件夾什麼意思 瀏覽:461
iphone經營類 瀏覽:138
哪裡可以看到老齡化數據 瀏覽:644
小型門戶網站有哪些 瀏覽:563
簡書網站打不開怎麼辦 瀏覽:467
關於新能源汽車有哪些外文資料庫 瀏覽:271
word公式編輯器怎麼打開 瀏覽:419
為什麼電腦上的文件傳不了去 瀏覽:919
反詐騙app注冊日期怎麼查 瀏覽:159
周年店慶微信文章素材 瀏覽:154
網路語你是壞人怎麼說 瀏覽:788

友情鏈接