實(shí)現(xiàn)Servlet程序的三種方法(小結(jié))
實(shí)現(xiàn)Servlet程序的三種方法
1.手動實(shí)現(xiàn)Servlet程序
1.編寫一個(gè)類去實(shí)現(xiàn)Servlet接口
2.實(shí)現(xiàn)service方法,處理請求并響應(yīng)數(shù)據(jù)
示例代碼:
//HelloServlet.java package servlet; import javax.servlet.*; import java.io.IOException; public class HelloServlet implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { } @Override public ServletConfig getServletConfig() { return null; } // service方法專門來處理請求和響應(yīng) @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("Hello,Servlet! 被訪問了"); } @Override public String getServletInfo() { return null; } @Override public void destroy() { } }
3.到web.xml配置Servlet程序的訪問地址
<!--web.xml--> <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!-- servlet標(biāo)簽給Tomcat配置Servlet程序--> <servlet> <!-- servlet-name標(biāo)簽給Serclet程序起一個(gè)別名--> <servlet-name>HelloServlet</servlet-name> <!-- servlet-class標(biāo)簽給Serclet程序起一個(gè)全類名--> <servlet-class>servlet.HelloServlet</servlet-class> </servlet> <!-- servlet-mapping標(biāo)簽給Servlet程序配置訪問地址--> <servlet-mapping> <!-- servlet-name標(biāo)簽告訴服務(wù)器我當(dāng)前配置的地址給那個(gè)Servlet程序使用--> <servlet-name>HelloServlet</servlet-name> <!-- url-pattern標(biāo)簽配置訪問地址--> <!-- /:斜杠表示在服務(wù)器解析的時(shí)候,表示地址為Http://ip:port/工程路徑--> <!-- /hello:表示地址為Http://ip:port/工程路徑/hello--> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
2.通過HttpServlet實(shí)現(xiàn)Servlet程序
在一般項(xiàng)目開發(fā)中一般很少使用Servlet接口來實(shí)現(xiàn)Servlet程序,一般都是使用繼承HttpServlet類的方式去實(shí)現(xiàn)Serlvet程序
步驟:
1.編寫一個(gè)類去繼承HttpServlet類
2.根據(jù)需要重寫doGet和doPost方法
3.去web.xml去配置訪問地址
4.最后運(yùn)行測試就可以接收到值了
示例代碼:
//HttpServlet.java package servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; //繼承HttpServlet public class HttpServlet02 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doGet方法"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doPost方法"); } }
```css ```bash ```handlebars ```sql ```javascript //web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!-- servlet標(biāo)簽給Tomcat配置Servlet程序--> <servlet> <!-- servlet-name標(biāo)簽給Serclet程序起一個(gè)別名--> <servlet-name>HelloServlet</servlet-name> <!-- servlet-class標(biāo)簽給Serclet程序起一個(gè)全類名--> <servlet-class>servlet.HelloServlet</servlet-class> </servlet> <!-- servlet-mapping標(biāo)簽給Servlet程序配置訪問地址--> <servlet-mapping> <!-- servlet-name標(biāo)簽告訴服務(wù)器我當(dāng)前配置的地址給那個(gè)Servlet程序使用--> <servlet-name>HelloServlet</servlet-name> <!-- url-pattern標(biāo)簽配置訪問地址--> <!-- /:斜杠表示在服務(wù)器解析的時(shí)候,表示地址為Http://ip:port/工程路徑--> <!-- /hello:表示地址為Http://ip:port/工程路徑/hello--> <url-pattern>/hello</url-pattern> </servlet-mapping> <servlet> <!-- servlet-name標(biāo)簽給Serclet程序起一個(gè)別名--> <servlet-name>HelloServlet02</servlet-name> <!-- servlet-class標(biāo)簽給Serclet程序起一個(gè)全類名--> <servlet-class>servlet.HttpServlet02</servlet-class> </servlet> <servlet-mapping> <!-- servlet-name標(biāo)簽告訴服務(wù)器我當(dāng)前配置的地址給那個(gè)Servlet程序使用--> <servlet-name>HelloServlet02</servlet-name> <!-- url-pattern標(biāo)簽配置訪問地址--> <!-- /:斜杠表示在服務(wù)器解析的時(shí)候,表示地址為Http://ip:port/工程路徑--> <!-- /hello:表示地址為Http://ip:port/工程路徑/hello--> <url-pattern>/hello02</url-pattern> </servlet-mapping> </web-app>
3.通過IDEA自動生成Servlt程序
1.通過IDEA新建一個(gè)Servlet
2.之后再新生成的java文件中我們自己按需要配置就好了
3.老樣子,依舊是在web.xml中配置好
4.寫個(gè)按鈕來檢測配置結(jié)果
示例代碼:
//HelloServlet.java package servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class HelloServlet03 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("通過IDEA自動/doGet方法"); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("通過IDEA自動/doGet方法"); } }
//web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!-- servlet標(biāo)簽給Tomcat配置Servlet程序--> <servlet> <!-- servlet-name標(biāo)簽給Serclet程序起一個(gè)別名--> <servlet-name>HelloServlet</servlet-name> <!-- servlet-class標(biāo)簽給Serclet程序起一個(gè)全類名--> <servlet-class>servlet.HelloServlet</servlet-class> </servlet> <!-- servlet-mapping標(biāo)簽給Servlet程序配置訪問地址--> <servlet-mapping> <!-- servlet-name標(biāo)簽告訴服務(wù)器我當(dāng)前配置的地址給那個(gè)Servlet程序使用--> <servlet-name>HelloServlet</servlet-name> <!-- url-pattern標(biāo)簽配置訪問地址--> <!-- /:斜杠表示在服務(wù)器解析的時(shí)候,表示地址為Http://ip:port/工程路徑--> <!-- /hello:表示地址為Http://ip:port/工程路徑/hello--> <url-pattern>/hello</url-pattern> </servlet-mapping> <servlet> <!-- servlet-name標(biāo)簽給Serclet程序起一個(gè)別名--> <servlet-name>HelloServlet02</servlet-name> <!-- servlet-class標(biāo)簽給Serclet程序起一個(gè)全類名--> <servlet-class>servlet.HttpServlet02</servlet-class> </servlet> <servlet-mapping> <!-- servlet-name標(biāo)簽告訴服務(wù)器我當(dāng)前配置的地址給那個(gè)Servlet程序使用--> <servlet-name>HelloServlet02</servlet-name> <!-- url-pattern標(biāo)簽配置訪問地址--> <!-- /:斜杠表示在服務(wù)器解析的時(shí)候,表示地址為Http://ip:port/工程路徑--> <!-- /hello:表示地址為Http://ip:port/工程路徑/hello--> <url-pattern>/hello02</url-pattern> </servlet-mapping> <servlet> <!-- servlet-name標(biāo)簽給Serclet程序起一個(gè)別名--> <servlet-name>HelloServlet03</servlet-name> <!-- servlet-class標(biāo)簽給Serclet程序起一個(gè)全類名--> <servlet-class>servlet.HelloServlet03</servlet-class> </servlet> <servlet-mapping> <!-- servlet-name標(biāo)簽告訴服務(wù)器我當(dāng)前配置的地址給那個(gè)Servlet程序使用--> <servlet-name>HelloServlet03</servlet-name> <!-- url-pattern標(biāo)簽配置訪問地址--> <!-- /:斜杠表示在服務(wù)器解析的時(shí)候,表示地址為Http://ip:port/工程路徑--> <!-- /hello:表示地址為Http://ip:port/工程路徑/hello--> <url-pattern>/hello03</url-pattern> </servlet-mapping> </web-app>
以上就是實(shí)現(xiàn)Servlet程序的三種方法,大家根據(jù)自己的需求去選擇,不一定都要掌握,到此這篇關(guān)于實(shí)現(xiàn)Servlet程序的三種方法(小結(jié))的文章就介紹到這了,更多相關(guān)實(shí)現(xiàn)Servlet程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
聊聊@value注解和@ConfigurationProperties注解的使用
這篇文章主要介紹了@value注解和@ConfigurationProperties注解的使用,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Java實(shí)現(xiàn)二分查找BinarySearch算法
這篇文章主要介紹了Java實(shí)現(xiàn)二分查找BinarySearch算法,二分查找針對的是一個(gè)有序的數(shù)據(jù)集合,每次都通過跟區(qū)間的中間元素對比,將待查找的區(qū)間縮小為之前的一半,直到找到要查找的元素,或者區(qū)間被縮小為 0,需要的朋友可以參考下2023-12-12SpringBoot3集成SLF4J+logback進(jìn)行日志記錄的實(shí)現(xiàn)
本文主要介紹了SpringBoot3集成SLF4J+logback進(jìn)行日志記錄的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01java使用wait()和notify()線程間通訊的實(shí)現(xiàn)
Java 線程通信是將多個(gè)獨(dú)立的線程個(gè)體進(jìn)行關(guān)聯(lián)處理,使得線程與線程之間能進(jìn)行相互通信,本文就介紹了java使用wait()和notify()線程間通訊的實(shí)現(xiàn),感興趣的可以了解一下2023-09-09Java class文件格式之特殊字符串_動力節(jié)點(diǎn)Java學(xué)院整理
特殊字符串出現(xiàn)在class文件中的常量池中,本著循序漸進(jìn)和減少跨度的原則, 首先把class文件中的特殊字符串做一個(gè)詳細(xì)的介紹, 然后再回過頭來繼續(xù)講解常量池,對java class 文件格式相關(guān)知識感興趣的的朋友一起學(xué)習(xí)吧2017-06-06如何優(yōu)雅的進(jìn)行Spring整合MongoDB詳解
這篇文章主要給大家介紹了如何優(yōu)雅的進(jìn)行Spring整合MongoDB的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-02-02SpringBoot 改造成https訪問的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot 改造成https訪問的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10SpringBoot使用Filters實(shí)現(xiàn)請求過濾和預(yù)處理
過濾器(Filter)是一種在Web應(yīng)用中用于攔截和處理HTTP請求和響應(yīng)的對象,在Java Web開發(fā)中,過濾器是實(shí)現(xiàn)特定功能,如認(rèn)證、日志記錄和字符編碼處理的重要工具,本文主要介紹了SpringBoot使用Filters實(shí)現(xiàn)請求過濾和預(yù)處理,需要的朋友可以參考下2024-08-08