當前位置:首頁 » 編程語言 » java調用servlet

java調用servlet

發布時間: 2023-02-23 03:31:19

java中遠程調用servlet是怎麼解決

在J2EE世界中要實現遠程方法調用的手段很多,如Spring:Hessian/Burlap, RMI, and JAX-RPC, JMS ,webservice。等等,你可能有過編寫EJB的經驗或對RMI有所了解,如果你使用過Spring框架的遠程調用,你可能你各種遠程調用方法就比較清楚和了解,可是你未必嘗試過一切都是自己構造來實現遠程調用,這里我們嘗試同過編寫一個簡單的Servlet(極其簡單)通過http實現遠程方法調用。希望對於servlet你有一個新的認識,在下一篇文章中,我會嘗試給你另一個servlet的新的應用。[@more@]讓我們先從這個servlet開始:
public class RemoteServlet extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException ,java.io.IOException{
System.out.print("BaseDataServlet service received a remote request");
ObjectInputStream in = new ObjectInputStream(req.getInputStream());
resp.setContentType("application/octest-stream");
ByteArrayOutputStream byteout = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteout);
Request request;
try {
request = (Request)in.readObject();//讀取遠程調用請求的封裝對象
//System.out.println(":n"+request.toString()); RequestProcessor processor=new RequestProcessor();//請求解析對象 out.writeObject(processor.processorLocalhost(request));//執行請求並回寫結果 out.flush();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

⑵ 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之前,必須在web.xml中配置Servlet。

部署Servlet環境(大體分2個步驟):

第一步:在Tomcat根目錄下的webapps目錄下創建如下目錄,並且放相應的文件:

• /FirstWebApp

• /FirstWebApp/WEB-INF/classes:存放servlet類編譯後的.class文件

• /FirstWebApp/WEB-INF/web.xml:存放servlet的配置文件

第二步:配置web.xml文件,如下圖:


熱點內容
編譯需要指令集嗎 發布:2024-11-08 03:15:14 瀏覽:230
藍鷗php培訓 發布:2024-11-08 02:56:29 瀏覽:652
電腦配置xp是什麼意思 發布:2024-11-08 02:56:27 瀏覽:339
軟體自帶伺服器地址怎麼辦 發布:2024-11-08 02:55:45 瀏覽:577
幸福密碼電視劇講述了什麼 發布:2024-11-08 02:55:40 瀏覽:425
win7文件夾看不到文件 發布:2024-11-08 02:55:37 瀏覽:666
蘋果安卓戰力哪個高 發布:2024-11-08 02:45:04 瀏覽:532
安卓備份哪個系統好 發布:2024-11-08 02:35:50 瀏覽:736
unlinklinux 發布:2024-11-08 02:31:30 瀏覽:663
nginxphp編譯 發布:2024-11-08 02:11:57 瀏覽:979