SpringMVC接收前端数据的几种方式

    之前在面试题中看到这样的一个问题,SpringMVC有哪几种接收前端请求数据的方式?当时脑子里第一种反应就是HttpServletRequest,后面的却是答不出来了,后面看了看资料动手写了一个demo,总结一下这几种方式,如果有哪里总结的不对还请指正。

      为了方便,这里选用的是SpringBoot,将从搭建框架一步步讲解一下。



首先创建一个项目,我们选择在线安装,输入Spring地址:https://start.spring.io/,然后就可以一直选下一步了


因为我创建的是一个web项目,所以我们这里把web下面的web勾选上,这样就可以了。


好了,项目创建完成了,我们开始编辑代码。首先我们需要在pom.xml添加页面视图元素,添加如下代码:

然后我们开始画一个简单的登录界面,我们在static文件夹下新建一个login.html的文件,可以直接访问



写一个简单的form表单作为登录:

<form action="login.do">

    用户名:<input type="text" name="name"/>

    密码:<input type="password" name="password"/>

    <input type="submit" value="登陆">

</form>

下面我们在demo下面新建一个测试文件编写我们的测试代码:


第一种方式:通过Httprequest来获取前端请求数据,这也是最常见的一种方式了

现在我们访问测试一下,在浏览器输入:http://localhost:8080/login.html,输入我们的用户名跟密码点击登录:


然后我们再看一下控制台的输出跟我们界面的输入对不对



我们界面的输入跟控制台的输出是一致的,说明这种获取方式是可行的。

第二种方式:直接获取


现在我们访问测试一下,在浏览器输入:http://localhost:8080/login.html,输入我们的用户名跟密码点击登录


然后我们再看一下控制台的输出跟我们界面的输入对不对



我们界面的输入跟控制台的输出是一致的,说明这种获取方式是可行的。

第三种:通过@RequestParam注解来绑定页面参数获取


注意:@RequestParam注解括号里的值一定要与页面元素的name、password属性的值保持一致而userName、passWord则相当于取了个别名。

现在我们访问测试一下,在浏览器输入:http://localhost:8080/login.html,输入我们的用户名跟密码点击登录:


然后我们再看一下控制台的输出跟我们界面的输入对不对:



我们界面的输入跟控制台的输出是一致的,说明这种获取方式是可行的。

第四种:通过实体类的get方法获取

首先我们新建一个User的实体类,并添加set/get方法


注意:这里的属性要与页面元素的name属性值保持一致。

现在我们开始编写测试代码:


我们来做一下访问测试,在浏览器输入:http://localhost:8080/login.html,输入我们的用户名跟密码点击登录:


现在我们再看一下控制台的输出跟我们界面的输入对不对:



我们界面的输入跟控制台的输出是一致的,说明这种获取方式是可行的。

以上就是总结的SpringMVC获取前端请求数据的四种方式了,如果有哪里总结的不对或者言辞有误还请指正。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容