第4章 请求与响应
2019-01-21 本文已影响17人
yangsg
SpringBoot允许使用@RestController声明一个SpringMVC处理器类,其含义为常规@Controller和@ResponseBody的结合。
使用@GetMapping或@PostMapping相当于Get方式或Post方式请求的@RequestMapping
SpringBoot默认不支持JSP,在前端以Ajax发起请求,后端处理后将数据返回给前端数据。
以下为一个接收前端请求数据的例子
1.在src/main/resources/static中新建js文件夹并引入JQuery文件
2.在static文件夹中新建index.html文件用于测试
index.html中编写代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>测试</title>
<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
</head>
<body>
新增用户<br>
账号:<input type="text" id="lname"><br>
密码:<input type="password" id="lpass"><br>
<input type="button" value="提交" id="btn_regist">
<script type="text/javascript">
$(document).ready(function (){
$("#btn_regist").click(function (){
var lname = $("#lname").val();
var lpass = $("#lpass").val();
$.ajax({
url: "addUser",
type: "POST",
data: {"lname":lname,"lpass":lpass},
success: function(data){
alert(JSON.stringify(data));
}
});
});
});
</script>
</body>
</html>
3.新建com.neuedu.po包,在包中创建UserPO类
public class UserPO {
private String lname;
private String lpass;
//set和get方法 略...
}
4.在com.neuedu.controller包中创建UserHandler类用于处理web请求
UserHandler.java代码
@RestController
public class UserHandler {
@PostMapping("/addUser")
public String addUser(UserPO po) throws Exception {
System.out.println(po.getLname());
System.out.println(po.getLpass());
return "success";
}
}
相当于
@Controller
public class UserHandler {
@RequestMapping(value="/addUser", method=RequestMethod.POST)
@ResponseBody
public String addUser(UserPO po) throws Exception {
System.out.println(po.getLname());
System.out.println(po.getLpass());
return "success";
}
}
5.运行SpringBoot程序
输入网址: http://localhost:8080/index.html
如果在第3章配置了端口号和Context-path请按照配置后的内容输入网址
输入账号和密码,显示“success”
测试数据
控制台显示打印数据
控制台显示