現在實現一個最簡單的登錄頁面:輸入用戶名和密碼後,跳轉到登錄結果頁面,提示登錄結果。
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>
用戶的信息是當做常量存在了類中,後面用數據庫進行實現。