溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么實(shí)現(xiàn)一個(gè)Servlet程序

發(fā)布時(shí)間:2021-01-12 14:46:33 來源:億速云 閱讀:258 作者:Leah 欄目:開發(fā)技術(shù)

怎么實(shí)現(xiàn)一個(gè)Servlet程序?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

1.手動(dòng)實(shí)現(xiàn)Servlet程序

1.編寫一個(gè)類去實(shí)現(xiàn)Servlet接口
2.實(shí)現(xiàn)service方法,處理請(qǐng)求并響應(yīng)數(shù)據(jù)

怎么實(shí)現(xiàn)一個(gè)Servlet程序

示例代碼:

//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方法專門來處理請(qǐng)求和響應(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程序的訪問地址

怎么實(shí)現(xiàn)一個(gè)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類

怎么實(shí)現(xiàn)一個(gè)Servlet程序

2.根據(jù)需要重寫doGet和doPost方法

怎么實(shí)現(xiàn)一個(gè)Servlet程序

3.去web.xml去配置訪問地址

怎么實(shí)現(xiàn)一個(gè)Servlet程序

4.最后運(yùn)行測(cè)試就可以接收到值了

怎么實(shí)現(xiàn)一個(gè)Servlet程序

示例代碼:

//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自動(dòng)生成Servlt程序

1.通過IDEA新建一個(gè)Servlet

怎么實(shí)現(xiàn)一個(gè)Servlet程序

怎么實(shí)現(xiàn)一個(gè)Servlet程序

2.之后再新生成的java文件中我們自己按需要配置就好了

怎么實(shí)現(xiàn)一個(gè)Servlet程序

3.老樣子,依舊是在web.xml中配置好

怎么實(shí)現(xiàn)一個(gè)Servlet程序

4.寫個(gè)按鈕來檢測(cè)配置結(jié)果

怎么實(shí)現(xiàn)一個(gè)Servlet程序

怎么實(shí)現(xiàn)一個(gè)Servlet程序

示例代碼:

//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自動(dòng)/doGet方法");
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("通過IDEA自動(dòng)/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>

關(guān)于怎么實(shí)現(xiàn)一個(gè)Servlet程序問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI