Servlet 基礎-如何獲取瀏覽器提交的引數
阿新 • • 發佈:2018-12-31
通過登入行為,演示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的反饋資料,需要通過響應來實現