<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Java Servlet POST 示例 > 原文: [https://javatutorial.net/java-servlet-post-example](https://javatutorial.net/java-servlet-post-example) 本示例演示了如何使用 Servlet 的`doPost()`方法來處理 POST 請求 在我們以前的教程的 [Java Servlet 實現示例](https://javatutorial.net/java-servlet-example)中我展示了`doGet()`方法的使用。 現在,我將向您展示如何使用`doPost()`方法來處理表單 POST 提交。 Java Servlet 可以處理各種類型的請求。 下面的列表顯示了所有方法及其用途 | **方法** | **SERVLET 方法** | **目的** | | --- | --- | --- | | GET | `doGet()` | 在指定的 URL 檢索資源 | | HEAD | `doHead()` | 與 GET 相同,只返回標頭 | | POST | `doPost()` | 通常用于 Web 表單提交 | | PUT | `doPut()` | 將提供的實體存儲在 URL | | DELETE | `doDelete()` | 刪除 URL 標識的資源 | | OPTIONS | `doOptions()` | 返回允許的 HTTP 方法 | | TRACE | `doTrace()` | 用于診斷 | ## 項目結構 在我們的項目中,我們確實需要三個文件。`pom.xml` – 設置 Maven 依賴關系和構建屬性,`web.xml` – 將 Servlet 和 Servlet 本身配置為 java 類 ![Servlet POST Example project structure](https://img.kancloud.cn/94/03/9403a08c53a98914215b5d49ae5ffde5_242x224.jpg) Servlet POST 示例項目結構 ## `pom.xml`文件 ```java <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>net.javatutorial.tutorials</groupId> <artifactId>ServletPOSTExample</artifactId> <version>1</version> <packaging>war</packaging> <name>Servlet POST Example</name> <url>https://javatutorial.net</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>servletpost</finalName> <sourceDirectory>src/main/java</sourceDirectory> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.3</version> <configuration> <warSourceDirectory>src/main/webapp</warSourceDirectory> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project> ``` 與上一教程一樣,我們將 Servlet 的依賴項`javax.servlet-api`和`maven-war-plugin`的依賴關系用于構建網絡應用 ## 在`web.xml`文件中映射 Servlet ```java <?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_3_1.xsd" version="3.1"> <display-name>Simple Servlet Application</display-name> <servlet> <servlet-name>servletPost</servlet-name> <servlet-class>net.javatutorial.tutorials.ServletPOST</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>servletPost</servlet-name> <url-pattern>/welcome</url-pattern> </servlet-mapping> </web-app> ``` Servlet 被賦予一個名為`ServletPost`的名稱,該名稱指向 Java 類`ServletPOST`。 在 servlet 映射中,我們將 url `/welcome`分配給 servlet ## Servlet 類 ```java package net.javatutorial.tutorials; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ServletPOST extends HttpServlet { private static final long serialVersionUID = -1641096228274971485L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // set response headers response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); // create HTML form PrintWriter writer = response.getWriter(); writer.append("<!DOCTYPE html>\r\n") .append("<html>\r\n") .append(" <head>\r\n") .append(" <title>Form input</title>\r\n") .append(" </head>\r\n") .append(" <body>\r\n") .append(" <form action=\"welcome\" method=\"POST\">\r\n") .append(" Enter your name: \r\n") .append(" <input type=\"text\" name=\"user\" />\r\n") .append(" <input type=\"submit\" value=\"Submit\" />\r\n") .append(" </form>\r\n") .append(" </body>\r\n") .append("</html>\r\n"); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String user = request.getParameter("user"); response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); // create HTML response PrintWriter writer = response.getWriter(); writer.append("<!DOCTYPE html>\r\n") .append("<html>\r\n") .append(" <head>\r\n") .append(" <title>Welcome message</title>\r\n") .append(" </head>\r\n") .append(" <body>\r\n"); if (user != null && !user.trim().isEmpty()) { writer.append(" Welcome " + user + ".\r\n"); writer.append(" You successfully completed this javatutorial.net example.\r\n"); } else { writer.append(" You did not entered a name!\r\n"); } writer.append(" </body>\r\n") .append("</html>\r\n"); } } ``` 在上面的代碼中,`doGet()`方法用于顯示表單。 客戶端(瀏覽器)使用 GET 請求調用網址 http://yoururl.com:8080/servletpost/welcome ,它顯示以下形式 ![Input form](https://img.kancloud.cn/f8/81/f881c209b749fa13ab182ff4f12cf1db_503x101.jpg) 輸入表單 該 servlet 在客戶端的瀏覽器中呈現為 HTML,如下所示: ```java <!DOCTYPE html> <html> <head> <title>Form input</title> </head> <body> <form action="welcome" method="POST"> Enter your name: <input type="text" name="user" /> <input type="submit" value="Submit" /> </form> </body> </html> ``` 提交后,將調用 servlet 中的`doPost()`方法。 在這里,我們根據用戶的輸入來建立響應。 如果正確填寫了姓名字段,則用戶會收到問候消息 ![Post response](https://img.kancloud.cn/42/74/427442dd476d488808effb985c6ea082_815x146.jpg) 響應后 …或警告消息(如果表單中的名稱字段留空) ![Error message if name is missing](https://img.kancloud.cn/68/d4/68d43ddaaa347f213f3ac3a95127d305_425x125.jpg) 如果缺少名稱,則會出現錯誤消息 您可以在我們的 GitHub 存儲庫中找到[項目源](https://github.com/JavaTutorialNetwork/Tutorials/tree/master/ServletPOSTExample)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看