Spring MVC入门(2)---简单案例(1)

时间:2023-01-17 20:03:35

之前我们进行了Spring mvc的配置,现在我们通过小案例来了解下如何使用。

我们先写一个测试用的登录界面login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录界面</title>
</head>
<body>
<div id="msg"><font color="red">${message}</font></div>
<form id="loginform" method="post" name="loginform" action="login.do?main">
用户名:<input type="text" id="userName" name="userName"/><p/>
密 码:<input type="password" id="password" name="password"/><p/>
<input name="submit" type="submit" value="登录" /> &nbsp;&nbsp;&nbsp;&nbsp;
<input type="reset" name="reset" value="重置" onclick="document.getElementById('userName').focus();"/>
<!-- 此方法 重置后定位到用户名框 -->
</form>
还没有账号?<a target="_self" href="register.jsp">点击注册</a>
</body>
</html>

这里的注册我们之后会用到,但是与此篇内容无关

然后我们需要一个model对象来封装我们的数据

package com.ys.model;

public class User {
private int id;
private String userName;
private String password;
//这里添加setter和getter方法代码,由于篇幅问题就跳过了
}

然后我们需要有对这个login访问的处理类LoginController.java

package com.ys.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.ys.model.User;

@Controller
@RequestMapping(value = "login") //匹配资源为login的path
public class LoginController {
/**
* 用户登录
*/

@RequestMapping(params = "main") //当参数是main的时候
public ModelAndView login(User user) {
ModelAndView modelView = new ModelAndView();
modelView.addObject("message", user.getId()+user.getUserName()+user.getPassword());
modelView.setViewName("/login");
return modelView;
}

}

这里我们可以看到jsp中action的参数对应了注解中的代码实现了匹配,调用了login方法

对于login方法中的user参数我们可以通过测试,在login.jsp中输入3333和11111显示
Spring MVC入门(2)---简单案例(1)

可见User对应jsp中的user获取输入的参数,标签中的name属性对应user类中的属性名称
0是由于jsp中没有对应id的标签,给int类型赋了初始值