1. Web Service和Servlet的區別
請求:
servlet:提供了請求/響應模式,是JAVA的一種規范,只能使用於java上,用來替代早期使用的難懂的CGI,是一種無狀態的請求響應,客戶端訪問一個伺服器的url,只需要發送簡單的httprequest即可。 規定了四個范圍:pageContext、request、session、application。一定依賴於各種SERVLET容器,但servlet只能接受一個簡單的http請求;
WebService最早是微軟提出了一種以XML為載體網路信息傳輸的規范,現在幾乎所有的語言與平台都支持,帶有狀態機制,不依賴於SERVLET容器,可以發送一個xml作為其請求內容,WebService通常是基於http的遠程方法調用(RMI),號稱是可以反回遠程對象, 一般來說客戶段可以象調用本地方法一樣調用WebService的方法。
傳輸:
servlet使用http協議傳輸數據,如果你用Servlet返回XML,那個XML的描述框架就是你定的,必須告知使用者具體的說明,沒有統一標准。
webservice使用固定的XML格式封裝成soap消息,可以使用http作為底層數據傳輸,但並不局限於http協議,方法返回消息是有標準的。
返回結果:
servlet返回的是html頁面;
webservice返回的可以是復雜對象甚至使用附件或者mutidata的二進制文件。
部署:
servlet需要遵守j2ee的Web Application規范部署的應用伺服器上,如tomcat,weblogic,websphere;
WebService則需要有WSDL文件來部署服務,或者使用UDDI注冊。
優勢:
WebService的跨平台特性是servlet不能比的,可以被各種語言調用;
servlet相對來說速度上的優勢也是不可忽視的。
2. Web Service和Servlet的區別
Servlet是Java對於Web開發而產生的一項技術,可以說Servlet技術是Java專有的,它是伺服器端的技術,客戶端通常是瀏覽器,而WebService是在DCOM CORBA等分布式技術之後發展起來的。WebService有一個國際通用的標准SOAP。具體規范發布在 http://www.w3.org/TR/SOAP/
SOAP是為了在Internet 環境下,實現系統是鬆散耦合的、跨平台的,與語言無關的,與特定介面無關的,而且要提供對Web 應用程序的可靠訪問。幾乎所有的開發工具都可以開發WebService系統,包括Java,C#,甚至基於VCL架構的Delphi。而且 所開發出來的WebService系統,可以方便的被各種客戶端調用,包括,瀏覽器,W32應用程序,還有Java App。
可以這么說,開發一個WebService系統,把它放到互聯網上,生成一個WebService描述文件.wsdl(非常容易),全世界的任何人,使用幾乎任何開發工具,引用了這個wsdl,就像引用了一個動態庫的頭文件一樣,方便的調用你的WebService介面,就像調用本地的方法一樣。
綜上所述:
1、WebService通常是基於http的遠程方法調用(RMI),號稱是可以反回遠程對象, 一般來說客戶段可以象調用本地方法一樣調用WebService的方法。
2、WebService使用的SOAP是一種通用的格式,不管什麼樣的客戶端都可以。
3、如果你用Servlet返回XML,那個XML的描述框架就是你定的嘍?你能確保別人都能看明白你的XML格式含義?
4、WebService並不復雜,開發起來甚至比Servlet還簡單。
5、如果客戶段需要傳遞一個復雜的多維數組給服務端,Servlet怎麼辦?
6。webservice的優點在於可以傳遞對象(其實是結構化的數據),從而對異構系統來說更有優勢
其實最重點要的,是WebService的方法返回消息是有標準的(大家通用,誰都能看懂),如果用Servlet所返回XML,是沒有標準的
在我們的項目中,一個java web項目要使用另一個java web的方法,這時可以選擇servlet和webservice方法,我們使用servlet方法,使用httpclient訪問,地址為http://ip/servlet/servletname 訪問成功。
關於如何返回數據,out對象輸出即可
servlet到是也可以傳對象 只要能序列化
其實 servlet和webservice不是一個層次上的東西 不可比
servlet定義的是一套interface
目的是實現 java在web上的動態訪問(不知局限於http協議的 至少還有ftp協議)
webservice定義的是一套標准(SOAP/UDDI/WSDL... 比API更抽象),與語言無關 協議無關 平台無關
目的是實現基於service的組件(相對於EJB DCOM ....)
從webservice的目的不難看出 他的復雜度還是相當大的 (EJB需要考慮的他都要進行實現) 包括安全性 事務性 等等.... 遠不止上面列出的SOAP/UDDI/WSDL
3. servlet和web伺服器的區別謝謝
web伺服器有很多,apache,tomcat,iis等,是用來處理動態網頁的。
servlet是在伺服器端運行的java程序,主要用tomcat做伺服器。
4. servlet在使用mvc模式開發web項目中的作用
servlet的作用:處理請求,視圖跳轉。
MVC模式就是一種目前廣泛流行的設計模式.它是Xerox PARC在20世紀80年代為編程語言Smalltalk-80發明的一種軟體設計模式舊。MVC是Model-View-Controller的簡稱。即模型-視圖-控制器[8]。MVC包括三類對象.模型Model是應用對象.視圖View是它在屏幕上的表示,控制器Controller定義用戶界面對用戶輸入的響應方式。
5. servlet屬於web前端的范疇么
這個嚴格來說屬於後端了,軟體方面前端和後端是有交集的,看你具體用到什麼程度了,前端注重界面圖形,後端主動功能實現的
6. java maven項目跟web項目區別
區別如下:
一,Web項目是網頁的編碼,像jsp,servlet,struts這類的。但是java maven項目的話,是AWT,SWING這類的編碼。
二,Web項目中是tomcat來觸發的,但是java maven項目里是Main來開始的。
三,Web項目需要伺服器,java maven項目則不需要。
Maven 除了以程序構建能力為特色之外,還提供高級項目管理工具。由於 Maven 的預設構建規則有較高的可重用性,所以常常用兩三行 Maven 構建腳本就可以構建簡單的項目。
由於 Maven 的面向項目的方法,許多 Apache Jakarta 項目發文時使用 Maven,而且公司項目採用 Maven 的比例在持續增長。
(6)servlet是web項目嗎擴展閱讀:
Maven常用命令:
mvn archetype:generate 創建Maven項目
mvn compile 編譯源代碼
mvn deploy 發布項目
mvn test-compile 編譯測試源代碼
mvn test 運行應用程序中的單元測試
mvn site 生成項目相關信息的網站
mvn clean 清除項目目錄中的生成結果
mvn package 根據項目生成的jar
mvn install 在本地Repository中安裝jar
mvn eclipse:eclipse 生成eclipse項目文件
mvnjetty:run 啟動jetty服務
mvntomcat:run 啟動tomcat服務
參考資料:網路:Maven
7. servlet是什麼
在 JavaWeb 項目中,處理請求和發送響應的過程是由一種叫做 Servlet 的程序來完成的,並且 Servlet 是為了解決實現動態頁面而衍生的東西。
簡單來講:Servlet其實就是一個遵循Servlet開發的java類,Serlvet是由伺服器調用的,運行在伺服器端。
一張圖描述 Servler 在 B/S 中的作用點:
①:Tomcat 將 Http 請求文本接收並解析,然後封裝成 HttpServletRequest 類型的 request 對象,所有的 Http 頭數據讀可以通過request 對象調用對應的方法查詢到。
②:Tomcat 同時會要響應的信息封裝為 HttpServletResponse 類型的response 對象,通過設置 response 屬性就可以控制要輸出到瀏覽器的內容,然後將 response 交給 Tomcat,Tomcat 就會將其變成響應文本的格式發送給瀏覽器。
Java Servlet API 是Servlet容器(tomcat)和servlet之間的介面,它定義了Serlvet 的各種方法,還定義了 Servlet 容器傳送給 Servlet 的對象類,其中最重要的就是 ServletRequest 和 ServletResponse 。所以說我們在編寫Servlet時,需要實現 Servlet 介面,按照其規范進行操作。
3. Servlet 介面主要方法
Servlet 介面主要的 3 個方法:
init()方法:只會調用一次,只是在創建servlet實例的時候才會創建。
service()方法:是進行數據處理的,只要接受了一次請求,就會被調用一次
destroy()方法:銷毀 Servlet 對象的時候調用。停止伺服器或者重新部署 Web 應用時銷毀 Servlet 對象,同樣也是調用一次
- {
- init()...
- service()...
- getServletConfig()...
- ...
- }
- {
- @Override
- protectedvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
- //設置字元編碼
- request.setCharacterEncoding("utf8");
- //從request對象中獲取username,password
- Stringusername=request.getParameter("username");
- Stringpassword=request.getParameter("password");
- request.setAttribute("username",username);
- request.setAttribute("password",password);
- request.getRequestDispatcher("/index2.jsp").forward(request,response);;
- }
- }
- <web-app>
- <display-name></display-name>
- <servlet>
- <servlet-name>MyServlet</servlet-name>
- <servlet-class>club.sscai.demo.MyServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>MyServlet</servlet-name>
- <url-pattern>/MyServlet</url-pattern>
- </servlet-mapping>
- </web-app>
- <html>
- <body>
- <h2>2222222</h2>
- username:<%=request.getParameter("username")%>
- <br>
- password:<%=request.getParameter("password")%>
- </body>
- </html>
4. 編寫 Servlet
首先說明一點疑惑,有時候我們在一些資料上看到別人這樣寫:
而在這我們要繼承 HttpServlet類 那麼問題來了,繼承HttpServlet 和實現Servlet 有什麼區別?
首先,直觀的不同,Servlet 是一個介面,如果實現這個介面,那麼就必須實現介面裡面定義的所有方法。
而 HttpServlet 實現了 Servlet 介面,並把 Servlet 介面中的方法實現了。
繼承 Httpservelt,實際上也就實現了 Servlet 介面。
但是我們沒必要再去實現 Servlet 中定義的生命周期方法,因為在 Httpservlet 中已經有了默認實現,並且這些默認實現也挺規范和實用, doget 和 dopost 是執行用戶請求的終點,get 請求會調用 doget 方法,post 請求會執行 dopost 方法,我們可以在這2個方法中定義我們自己的業務邏輯。
最後,HttpServlet 在實現 Servlet 介面的時候,已經實現了 Servlet 中所有的方法,因此繼承自 HttpSrvlet 的類,不需要再去覆寫相應的生命周期等方法。
4.1 編寫Java類,繼承HttpServlet
創建一個 MyServlet java 類,繼承 HttpServlet 實現 service 方法:
4.2 配置web.xml文件
web.xml 配置 Servlet 訪問路徑,能讓別人通過鏈接訪問到你的 Servlet:
4.3 jsp 界面顯示
index2.jsp:
8. servlet和web伺服器的區別是什麼
WEB伺服器是提供WEB服務的程序。
Servlet是一種容器內的技術,其實是 Server applet的簡稱,什麼意思呢,就是說servlet是在伺服器上運行的小程序,所以servlet技術不一定只在WEB伺服器上使用。
只是目前常見的Java技術,都是把WEB伺服器上的Servlet直接叫做Servlet。
所以運行Servlet,首先是需要WEB伺服器的。
然後還要有一個小程序的容器,就是Servlet容器,專門來調用Servlet。
目前就是大部分的J2EE容器能夠完成 Servlet的執行。
支持J2EE容器的WEB伺服器,也叫 WEB伺服器,不支持的,也叫WEB伺服器。
我想已經基本解釋清楚了。
9. servlet是什麼東西它與Web應用伺服器之間是什麼關系
Servlet是一種伺服器端的Java應用程序,具有獨立於平台和協議的特性,可以生成動態的Web頁面。 它擔當客戶請求(Web瀏覽器或其他HTTP客戶程序)與伺服器響應(HTTP伺服器上的資料庫或應用程序)的中間層。 Servlet是位於Web 伺服器內部的伺服器端的Java應用程序,與傳統的從命令行啟動的Java應用程序不同,Servlet由Web伺服器進行載入,該Web伺服器必須包含支持Servlet的Java虛擬機。
10. web項目和Java項目的區別
Web項目是網頁的編碼,像jsp,servlet,struts這類的。
但是java項目的話,是AWT,SWING這類的編碼。
最主要的區別是Web項目中的JAVA文件是tomcat來觸發的,但是java項目里的是Main()來開始的。還有一點是Web項目需要伺服器。