javaWeb中怎么獲取提交表單里面的值


在javaWeb中如何獲得html文件中的表單里面的值?

<!DOCTYPE html>
<html>
    <head>
    <meta charset="UTF-8">
    <title>注冊頁面</title>
</head>
<body>
    <form action = "register" method = "post">
        用戶名:<input type = "text"  name = "username"><br>
        密碼:<input type = "password"  name = "password"><br>
        愛好 : LOL<input type="checkbox" name="hobits" value="lol"> 
        DOTA<input type="checkbox" name="hobits" value="dota"> <br>
        <input type="submit" value="注冊">
    </form>
</body>
</html>

比如在上面這個表單中,我們想獲得用戶名,密碼,愛好等屬性值。

則可以在對應的 registerServlet文件中,重寫service()方法。

通過觀察ServletRequest文件可以看出request一般獲取參數的方式分為一下四種:

  • String getParameter(String name);   一般根據參數名稱來獲取參數值
  •  public Enumeration<String> getParameterNames();  根據參數名稱獲取參數集
  • public String[] getParameterValues(String name);  獲得一個參數名對應的多個參數值
  • Map<String, String[]> getParameterMap();    獲取一對參數名和參數值
public class RegisterServlet extends HttpServlet {
    
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        //獲得單獨的參數
        String name = request.getParameter("username");
        System.out.println("用戶名:"+name);
        
        //獲得多個參數
        String[] habitss = request.getParameterValues("hobits");
        System.out.println(Arrays.asList(habitss));
        
        
        Map<String, String[]> parameters= request.getParameterMap();
        //設定key值
        Set<String> parName = parameters.keySet();
        for (String param : parName) {
            String[] value = parameters.get(param);
            System.out.println(param + ":" + Arrays.asList(value));
        }
    }
}

 

在上面的樣例中,簡單的對上面三種獲取參數的驗證。

其中

 String[] habitss = request.getParameterValues("hobits");
System.out.println(Arrays.asList(habitss));

可以通過 Arrays.asList()將數組轉化為list對象。

比如下面這幾行代碼,然后直接通過lise.get(1)獲得對應的參數

public class test {
    public static void main(String[] args) {
        String[] name = {"jack","rose","wgjl"};
        List<String> list = Arrays.asList(name);
        System.out.println(list.get(1));
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM