<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 功能強大 支持多語言、二開方便! 廣告
                # `ServletRequest`接口 > 原文: [https://beginnersbook.com/2013/05/servlet-request-interface/](https://beginnersbook.com/2013/05/servlet-request-interface/) 當客戶端向 Web 服務器發送請求時,servlet 容器會創建`ServletRequest`和`ServletResponse`對象并將它們作為參數傳遞給 servlet 的`service()`方法。請求對象提供對請求信息的訪問,例如請求數據的頭和主體信息。 首先,我們將看到一個示例,然后我們將看到`ServletRequest`接口中可用的方法列表: ## 示例 1:`ServletRequest getParameter()`方法顯示用戶輸入 在這個例子中,我演示了使用`getParameter()`方法返回給定參數的值。 在這個 html 表單中,我們將用戶輸入(名稱和年齡)分別存儲在參數`uname`和`uage`中。 `index.html` ```java <form action="details" method="get"> User Name: <input type="text" name="uname"><br> User Age: <input type="text" name="uage"><br> <input type="submit" value="submit"> </form> ``` `MyServletDemo.java` 在這個 servlet 類中,我們通過使用`getParameter()`方法獲取參數的值,此方法屬于`ServletRequest`接口。在這個例子中,我們將`HttpServletRequest`作為`doGet()`方法的參數,`HttpServletRequest`擴展了`ServletRequest`接口,這就是為什么`getParameter()`方法可用于`req`對象。 獲取值后,我們將在網頁上編寫它們。 ```java import javax.servlet.http.*; import javax.servlet.*; import java.io.*; public class MyServletDemo extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException { res.setContentType("text/html"); PrintWriter pwriter=res.getWriter(); String name = req.getParameter("uname"); String age = req.getParameter("uage"); pwriter.println("Name: "+name); pwriter.println("Age: "+age); pwriter.close(); } } ``` `Web.xml` 這是將 servlet 映射到 url 的部署描述符文件。由于我們的表單將詳細信息頁面作為操作,因此我們將 servlet 類映射到詳細信息頁面。 ```java <web-app> <display-name>BeginnersBookDemo</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>BeginnersBook</servlet-name> <servlet-class>MyServletDemo</servlet-class> </servlet> ``` ```java <servlet-mapping> <servlet-name>BeginnersBook</servlet-name> <url-pattern>/details</url-pattern> </servlet-mapping> </web-app> ``` **輸出:** 屏幕 1: ![ServletReqeust Output 1](https://img.kancloud.cn/27/cd/27cd8266bbb70e563f47cfc7b526bc66_1024x198.jpg) 點擊提交時出現的屏幕 2: ![ServletReqeust_Output_2](https://img.kancloud.cn/90/8d/908d19739b9aa0b0e72c14644f650f41_1024x148.jpg) ## 示例 2:獲取參數名稱和值 在此示例中,我們將使用`getParameterNames()`和`getParameter()`方法來獲取參數名稱和值。 `getParameterNames()`:返回一個`String`對象的枚舉,其中包含此請求中包含的參數的名稱。如果請求沒有參數,則該方法返回一個空的枚舉。 `getParameter()`:如上所述,這將返回給定參數的值。 `index.html` ```java <form action="details" method="get"> User Name: <input type="text" name="uname"><br> User Age: <input type="text" name="uage"><br> <input type="submit" value="submit"> </form> ``` `MyServletDemo.class` ```java import java.io.IOException; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration;? import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyServletDemo extends HttpServlet{?? ? public void doGet(HttpServletRequest req,HttpServletResponse res)?? ? throws ServletException,IOException?? ? { ? ? PrintWriter pwriter=res.getWriter(); res.setContentType("text/html"); Enumeration en=req.getParameterNames(); while(en.hasMoreElements()) { Object obj=en.nextElement(); String param=(String)obj; String pvalue=req.getParameter(param); pwriter.print("Parameter Name: "+param+ ? " Parameter Value: "+pvalue); } pwriter.close(); ? } } ``` `web.xml` ```java <web-app> <servlet> <servlet-name>BeginnersBook</servlet-name> <servlet-class>MyServletDemo</servlet-class> </servlet> <servlet-mapping> <servlet-name>BeginnersBook</servlet-name> <url-pattern>/details</url-pattern> </servlet-mapping> </web-app> ``` **輸出:** ![](https://img.kancloud.cn/d6/be/d6be5410f762846459b51f8ea9862247_1024x194.jpg) ![](https://img.kancloud.cn/32/3a/323ab3da91b9cb6250c7ce95be2c7f7f_1024x150.jpg) ## 示例 3:顯示標題信息 `index.html` ```java <h1>Servlet Request Demo</h1> <body> <a href="headinfo">Click Here</a> </body> ``` `HeaderDetails.java` ```java import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HeaderDetails extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter pwriter = response.getWriter(); pwriter.println("HTTP header Information:<br>"); Enumeration en = request.getHeaderNames(); while (en.hasMoreElements()) { String hName = (String) en.nextElement(); String hValue = request.getHeader(hName); pwriter.println("<b>"+hName+": </b>" +hValue + "<br>"); } } } ``` `web.xml` ```java <web-app> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>BeginnersBook</servlet-name> <servlet-class>HeaderDetails</servlet-class> </servlet> <servlet-mapping> <servlet-name>BeginnersBook</servlet-name> <url-pattern>/headinfo</url-pattern> </servlet-mapping> </web-app> ``` **輸出:** ![](https://img.kancloud.cn/4c/41/4c414c5a431d3fc7d3f2a41cf52d4b20_1024x224.jpg) ![](https://img.kancloud.cn/d6/76/d676f5fade8b95d45a81a63aecda0a8a_1024x332.jpg) ## `ServletRequest`接口的方法 `String getParameter(String name)`:它將給定參數的值作為`String`返回,如果給定的參數不存在,則返回`null`。 `Enumeration getParameterNames()`:它返回一個包含請求中參數名稱的字符串`Enumeration`對象。 `String [] getParameterValues(String name)`:它返回一個包含參數具有的所有值的字符串數組,如果參數沒有任何值,則返回`null`。 `String getCharacterEncoding()`:返回此請求正文中使用的字符編碼的名稱。如果請求未指定字符編碼,則此方法返回`null`。 `void setCharacterEncoding(String env)`:覆蓋請求正文中的字符編碼。 `int getContentLength()`:以字節為單位返回請求內容的長度。 `String getContentType()`:返回請求正文的 MIME 類型,如果類型未知,則返回`null`。 注意:我剛剛提到了一些方法。如果您需要完整的方法列表,請參閱[官方文檔](https://docs.oracle.com/javaee/7/api/javax/servlet/ServletRequest.html)。
                  <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>

                              哎呀哎呀视频在线观看