现在实现一个最简单的登录页面:输入用户名和密码后,跳转到登录结果页面,提示登录结果。
1、编辑用户名及密码登录界面
首先重新编辑index.jsp首页,使其拥有一个form表单,包含用户名和密码,以及提交按钮,代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>
首页
</title>
</head>
<body>
<form action="login" method="post">
<input name="userName" type="text" />
<input name="password" type="password"/>
<input id="submitButton" type="submit" value="登录" />
</form>
</body>
</html>
视图如下:
这里form中的action对应controller上的requestMapping,所以要有.html后缀就都要有,否则就都没有,不然匹配不上。这里的表单form通过submit按钮提交后,发起一个url为login的请求,然后映射到相应的controller。
2、写一个简单的跳转controller
代码如下:
@RequestMapping(value="login ")
public ModelAndView login(String userName,String password){
CheckParam checkParam = new CheckParam();
ModelAndView mav = new ModelAndView();
mav.setViewName("/html/basic/loginSucess");
mav.addObject("userName",userName);
mav.addObject("password",password);
mav.addObject("loginResult",checkParam.checkLoginParam(userName,password).getErrorMsg());
return mav;
}
参数对应表单的内容,检验过后返回一个新视图,新视图jsp中有三个变量,变量名分别为userName、password和loginResult,通过addObject方法将变量绑定具体值传到视图中去。
3、编辑跳转后的视图文件
新视图的代码比较简单,如下
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
账号:${userName}
密码:${password}
${loginResult}
</body>
</html>
用户的信息是当做常量存在了类中,后面用数据库进行实现。