SpringMVC-接收表单数据的方式

2020-02-08  本文已影响0人  我问你瓜保熟吗
1P214160451-1.jpg

前台提交表单数据到后台进行处理

form 表单提交数据,get方法会将数据通过请求url方式向后台传送,post方式会将数据放在请求头里。
get传送的数据量较小,不能大于2KB。post传送的数据量较大
.get安全性非常低,post安全性较高。
get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据

image.png

一、通过表单提交

前台代码

<div id="form-div">
    <form id="form1" action="/form/login" method="get">
        <p>用户名:<input name="userName" type="text" id="txtUserName" tabindex="1" size="15" value=""/></p>
        <p>密码:<input name="password" type="password" id="TextBox2" tabindex="2" size="16" value=""/></p>
        <p><input type="submit" value="登录"> <input type="reset" value="重置"></p>
    </form>
</div>

1、直接用Controller方法参数接收

接受数据的参数名要和前台变量名一致才能收到数据如:userName不能写成username

    @RequestMapping("/login")
    public void login(String userName,String password){
        System.out.println(password);
        System.out.println(userName);

    }

2、利用@RequestParam注解可以自定义参数名,并可以设置默认参数值。

    @RequestMapping("/login")
    public void login(String password, @RequestParam(value = "userName",defaultValue = "root") String username){
        System.out.println(password);
        System.out.println(username);

    }

3、用HttpServletRequest 接收

1、前台用get方式提交,服务器端用Request.QueryString获取全部变量的值
2、论前台用get还是post都可以用request.getParameter()获取单个指定变量,入伙前台变量是一个checkbox复选框,后台获取到的值是一个字符串数组,因此需要使用getParameterValues方法来获取
3、getAttribute获取一个对象,getParameter()获取一个变量值

    @RequestMapping("/login")
    public void login(HttpServletRequest request){

        String queryString = request.getQueryString();
        String userName = request.getParameter("userName");
        String password = request.getParameter("password");

        System.out.println(queryString);
        System.out.println(userName);
        System.out.println(password);
    }
运行输出截图

二、通过ajax提交

略,有空再写吧,难受~

上一篇 下一篇

猜你喜欢

热点阅读