1. 程式人生 > >Servlet 基礎-如何獲取瀏覽器提交的引數

Servlet 基礎-如何獲取瀏覽器提交的引數

通過登入行為,演示servlet如何獲取從瀏覽器提交的賬號密碼

  • 建立 login.html

    在web上右鍵 -> New ->File
    建立一個 login.html檔案
    然後新增一個form元素
    action="login" 標題會提交到login路徑,login路徑在後續步驟會對映到LoginServlet
    method="post" post方式表示提交的密碼資訊在瀏覽器位址列看不到

    接著準備賬號和密碼的input元素
    因為要提交兩個資料,在servlet端為了區分哪個是賬號,哪個是密碼,要給這兩個input元素的name屬性分別叫做name和password。

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>登入頁面</title>
    </head>
    <body>
      
    <form action="login" method="post">
    賬號: <input type="text" name="name"> <br>
    密碼: <input type="password" name="password"> <br>
    <input type="submit" value="登入">
    </form>
      
    </body>
    </html>
  • 建立 LoginServlet

    建立一個LoginServlet
    因為瀏覽器中的form的method是post,所以LoginServlet需要提供一個doPost方法
    在doPost方法中,通過request.getParamter 根據name取出對應的賬號和密碼
    然後用System.out.println() 列印在控制檯

    注 這裡是列印在控制檯,並沒有在網頁上輸出
    import java.io.IOException;
     
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
      
    public class LoginServlet extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            String name = request.getParameter("name");
            String password = request.getParameter("password");
      
            System.out.println("name:" + name);
            System.out.println("password:" + password);
        }
    }
  • 對映LoginServlet到路徑login

    在web.xml中新增對映
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app>
     
        <servlet>
            <servlet-name>HelloServlet</servlet-name>
            <servlet-class>HelloServlet</servlet-class>
        </servlet>
     
        <servlet-mapping>
            <servlet-name>HelloServlet</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>
         
        <servlet>
            <servlet-name>LoginServlet</servlet-name>
            <servlet-class>LoginServlet</servlet-class>
        </servlet>
     
        <servlet-mapping>
            <servlet-name>LoginServlet</servlet-name>
            <url-pattern>/login</url-pattern>
        </servlet-mapping>   
     
    </web-app>
  • 在頁面提交資料

    首先重啟tomcat
    然後訪問頁面 
    http://127.0.0.1/login.html
    輸入賬號密碼,提交
    然後在tomcat的視窗,就可以看到提交的賬號和密碼了。

    注 不是在瀏覽器上看到這個提交的資料,瀏覽器上要看到tomcat的反饋資料,需要通過響應來實現