java中servlet
① java servlet 主要用來做什麼
簡單一點說吧:
1.比如說你在一個網頁上輸入姓名和密碼,然後點擊提交。這時候頁面就會跳轉(跳轉方法有post和get)。
2.跳轉到哪呢,這就通過web.xml文件配置你的跳轉,一般就跳轉到servlet來處理。
3.servlet說白了,就是一個java類,繼承HttpServlet,主要有doGet和doPost方法,你在頁面代碼寫的是get方法跳轉,那麼就運行servlet里doGet方法裡面的代碼(post同理)。
4.doGet裡面的代碼就處理操作,一般首先用特定方法獲得頁面提交的姓名和密碼,然後進行處理(判斷是否合法等等),處理玩之後,決定是直接顯示信息,還是跳轉到其他頁面。
servlet就是接受頁面信息,然後進行邏輯處理的一個java類。
至於學習資料,網上找一個servlet的小例子很多,有java基礎很容易看懂,沒有基礎也可以學會
② java 中web開發servlet主要功能是什麼
JavaWeb中servlet主要功能是承載網路連接,業務邏輯處理,比如一些編碼格式的轉換、登錄攔截等,如下是詳細解釋:
1.servlet是一個類。最初沒有jsp,只有servlet,也就是說最初的開發過程是.java->.class
後來因為html代碼在servlet里寫入太繁瑣,加入了jsp類型。servlet單純的處理後台程序。
在WEB-INF下的web.xml文件下:
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>org.lxh.servlet.HelloServlet</servlet-class>///HelloServlet是類名
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/servletdemo</url-pattern>///當敲入本機地址後,/demo後/servletdemo會找到編譯後的HelloServlet文件。
</servlet-mapping>
具體例子如下:
1.先編寫一個表單,建在D:/java/tomcat jsp/webdemo/servletdemo(新建一個文件夾)-
input.html
<formaction="input"method="get">//"post"也行
<inputtype="text"name="ref">
<inputtype="submit"value="提交">
</from>
2.在編寫InputServlet類
packageorg.lxh.servlet;
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
{
publicvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)
throwsServletException,java.io.IOException{
Stringparam=req.getParameter("ref");
System.out.println("*************"+param);
}
publicvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)
throwsServletException,java.io.IOException{
this.doGet(req,resp);
}
};
3.然後編譯。
4.再在web.xml中加入這些話
<servlet>
<servlet-name>input</servlet-name>
<servlet-class>org.lxh.servlet.InputServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>input</servlet-name>
<url-pattern>/servletdemo/input</url-pattern>
</servlet-mapping>
5.這時運行tomcathttp://localhost:90/demo能找到servletdemo文件夾中的input.html,點擊提交按鈕。
jsp技術中servlet,可以承載很多的功能,但後期如果項目業務邏輯很復雜,會導致servlet的急劇增多,不易維護,所以又發明了javaweb,將每一層的功能和邏輯都獨立出來,以便於更好的維護管理。
③ 在java中Servlet的作用是什麼
額,用我的話來說,Servlet是一種獨立於平台和協議的處於伺服器端的Java應用程序,利用他可以實現業務層和表現層的分離,同時又可以生成動態頁面。
④ JAVA WEB 開發架構中的 Servlet 的作用是什麼
Servlet就是MVC中的C(controller)是控制器,通俗點就是獲得請求然後告訴下面得顯示什麼頁面給別人,當然這個過程中你可以進行相應的處理,然後把信息傳導頁面,大部分就是JSP;JSP就是MVC中的V(view)
⑤ 「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 的執行流程來看它時如何處理請求的
希望對您有所幫助!~
⑥ 昆明Java培訓:Servlet方面:簡述Servlet的生命周期
答:servlet有良好的生存期的定義,包括載入和實例化、初始化、處理請求以及服務結束。
這個生存期由javax.servlet.Servlet介面的init,service和destroy方法表達。
Servlet被伺服器實例化後,容器運行其init方法,請求到達時運行其service方法,service方法自動派遣運行與請求對應的doXXX方法(doGet,doPost)等,當伺服器決定將實例銷毀的時候調用其destroy方法。
與cgi的區別在於servlet處於伺服器進程中,它通過多線程方式運行其service方法,一個實例可以服務於多個請求,並且其實例一般不會銷毀,而CGI對每個請求都產生新的進程,服務完成後就銷毀,所以效率上低於servlet。
⑦ java servlet 主要用來做什麼
javaservlet是一種編程語言,所以當然是用來「創造」的啦。它能做的事情非常多,涵蓋了編程領域的方方面面。
1、桌面級應用,簡單來說就是主要功能都在計算機上運行的程序,比如word、excel 等辦公軟體就歸為此類。
2、企業級應用(應用最廣泛),簡單來說就是,使用人數較多,數據量較大的應用。它對系統的穩定性、安全性、擴展性等要求較高。包括HR管理軟體、營銷管理軟體、等幾乎所有你能想到的應用。
3、嵌入式設備及消費類電子產品,包括無線手持設備、智能卡、通信終端、醫療設備、信息家電(如數字電視、機頂盒、電冰箱)、汽車電子設備等都是近年以來熱門的 Java 應用領域,尤其是手機上的 Java 應用程序和 Java 游戲等。
4、除了上面提到的,Java 還有進行數學運算、顯示圖形界面、進行網路操作、進行資料庫操作、進行文件的操作等功能。這也是一種目前非常流行的編程語言哦,是很有前景的,JAVA工程師的薪資待遇也是非常高的。
5、比如說你在一個網頁上輸入姓名和密碼,然後點擊提交。這時候頁面就會跳轉(跳轉方法有post和get)。
6、跳轉到哪呢,這就通過web.xml文件配置你的跳轉,一般就跳轉到servlet來處理。
7、servlet說白了,就是一個java類,繼承HttpServlet,主要有doGet和doPost方法,你在頁面代碼寫的是get方法跳轉,那麼就運行servlet里doGet方法裡面的代碼(post同理)。
⑧ 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:
⑨ 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文件,如下圖: