@RequestMapping基本应用

@RequestMapping基本应用

@RequestMapping 除了修饰方法, 还可来修饰类 :

类定义处: 提供初步的请求映射信息。相对于 WEB 应用的根目录;

方法处: 提供进一步的细分映射信息。 相对于类定义处的 URL。

若类定义处未标注 @RequestMapping,则方法处标记的 URL相对于 WEB 应用的根目录

返回ModelAndView时的url会根据你的 @RequestMapping实际情况组成。

如果类上没有映射,那么url直接就是方法的映射;否则url为类上+方法上映射路径组合。

对应项目jsp位置则是一级路径对应一级文件目录。

如url为/default/index对应项目中webapp/default/index.jsp

@RestController
@RequestMapping("/user")
public class UserController extends BaseController {

private static final String UPLOAD_DIR_NAME = "upload";

@Autowired
private IUserService userService;

@PostMapping("/reg.do")
public ResponseResult<Void> handleReg(
		User user) {
	userService.reg(user);
	return new ResponseResult<Void>(SUCCESS);
}

@PostMapping("/login.do")
public ResponseResult<User> handleLogin(
    @RequestParam("username") String username,
    @RequestParam("password") String password,
    HttpSession session) {
    // 执行登录
    User user
        = userService.login(username, password);
    // 将相关信息存入到Session
    session.setAttribute("uid", user.getId());
    session.setAttribute("username", user.getUsername());
    // 返回
    return new ResponseResult<>(SUCCESS, user);
}


<script type="text/javascript">
// 为登录按钮绑定单击事件
$("#btn-login").click(function() {
	// 将请求提交到哪里
	var url = "../user/login.do";
	// 请求参数
	var data = $("#form-login").serialize();
	console.log("登录参数:" + data);
	// 发出ajax请求,并处理结果
	$.ajax({
		"url": url,
		"data": data,
		"type": "POST",
		"dataType": "json",
		"success": function(json) {
			if (json.state == 200) {
				alert("登录成功!");
				// 将头像路径存到Cookie
				$.cookie("avatar", json.data.avatar, {
					expires: 7
				});
				console.log("登录成功,将头像路径存到Cookie:" 
						+ $.cookie("avatar"));
			} else {
				alert(json.message);
			}
		}
	});
});
</script>

猜你喜欢

转载自blog.csdn.net/qq_43165760/article/details/86059869
今日推荐