1. 程式人生 > >怎麼實現使用者登入功能,提交表單呢?

怎麼實現使用者登入功能,提交表單呢?

大家好,我是海Dao船長。

如果讓大家寫一個表單的前臺頁面,也許大家都能夠完美的寫出來,但是我們也得form表單需要提交給後臺,那麼怎麼實現前臺form表單的提交呢?下面用java程式碼實現表單的提交效果。

    首先寫一個簡單的form表單,示例如下:

<a href="/servletday/PDayA?name=NAME&password=PASSWORD">
      點選測試是否連線到後臺
</a>
<form action="/servletday/PDayA" method="post">
    使用者名稱:<input type="text" name="username"/>
    密碼:<input type="password" name="password"> 
    愛好<input type="checkbox" name="hobby" value="cf"/>吃飯
    <input type="checkbox" name="hobby" value="sj"/>睡覺
    <input type="checkbox" name="hobby" value="pb"/>跑步
    <br/>
   <input type="submit" value="提交"/>
</form>

    其中/servletday是專案名,PDayA是後臺的java檔名。

      第一個a標籤是測試是否連線到PDayA檔案。

    接下來就開始進行後臺的編寫了:

public class PDayA extends HttpServlet {
         //首先寫類的doGet方法,進行a標籤的連線測試。
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("GET :" + request.getParameter("name"));
System.out.println("GET :" + request.getParameter("password"));
}
        //之後進行表單的提交,用到的doPost方法
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //第一種方法:首先獲得request域中的資料並且進行定義變數,之後進行輸出。
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String[] hobby = request.getParameterValues("hobby");
        System.out.println(username + ", "+password + ", " + Arrays.toString(hobby));

        //第二種方法用介面實現
        Enumeration names = request.getParameterNames();
while(names.hasMoreElements()) {
System.out.println(names.nextElement());
}

        //第三種 用Map實現,需要注意的是key和value
        Map<String,String[]> maps = request.getParameterMaps();
        for(String name : maps.ketSet()){
            String[] value = maps.get(name){
                  System.out.println(name + "=" + Arrays.toString(value));
            }
        }
    }
}

    如此便實現了表單提交的功能。

    如果想要了解更多精彩內容,請大家關注微信公眾號 : 海Dao船

         

    海Dao船長會不定期的更新內容哦.