1. 程式人生 > >搭建SpringMVC框架,實現簡單登陸功能

搭建SpringMVC框架,實現簡單登陸功能

閱讀本篇文章之前建議先閱讀以下前面兩篇關於Spring的簡單配置,Spring這系列的教程主要是為了讓給初學者可以快速的掌握Spring的相關配置,如果希望應用於實際專案,還需要深入學習。

本次教程主要是使用簡單配置實現使用者登入驗證功能。
要求:
1、搭建簡單的Spring MVC框架
2、開發登陸功能(登陸成功跳轉到歡迎頁面,失敗給出相應的提示)

###工具準備

1:MyEclipse 10 + Jdk6.0 及以上

###大致步驟

1.建立動態WEB專案

2.新增jar

3.編寫模型層程式碼

4.編寫業務層程式碼

5.編寫控制器類

6.新增配置檔案

7.編寫JSP

###配置

1、使用Eclipse建立web專案SpringMVCDemo1

建立web專案

2、新增所需的jar

下載前面提供的jar並匯入到專案當中

建立web專案

3、配置web.xml

核心控制器是一個叫做DispatcherServlet的類完成用於攔截特定的請求

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>SpringMVCDemo1</display-name> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name
>
contextConfigLocation</param-name>
<param-value>WEB-INF/config/applicationContext*.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> </web-app>

4、建立Spring配置檔案applicationContext.xml,放到WEB-INF/config/目錄下

Bean Name:被請求地址

Bean Class : 用來處理請求的控制器

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<bean name="/login.html" class="com.xhay1122.controller.LoginController" scope="prototype" />

</beans>

5、業務邏輯控制器LoginController.java

實現業務邏輯控制器的方式主要四種(本教程使用的是第一種方式).

1).實現Controller介面 org.springframework.web.servlet.mvc.Controller

2).繼承AbstarctController抽象類 org.springframework.web.servlet.mvc.AbstractController

3). MultiActionController org.springframework.web.servlet.mvc.multiaction.MultiActionController

4).通過註解快速實現業務邏輯控制器 @Controller配合@RequestMapping實現
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.xhay1122.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

/**
 * 專案名稱:SpringMVCDemo1
 * 類名稱:LoginController
 * 類描述:   
 * 建立人:xhay
 * 建立時間:2015年4月23日 下午4:09:56
 * 修改人:xhay
 * 修改時間:2015年4月23日 下午4:09:56
 * 修改備註:   
 * @version 1.0
 * 軟體工程創新實驗室  
 */
public class LoginController implements Controller{

	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		//獲取表單提交資料
		String userName = request.getParameter("userName");
		String userPwd = request.getParameter("userPwd");
		//建立模型檢視物件用來返回
		ModelAndView mav = new ModelAndView();
		if("admin".equals(userName) && "admin".equals(userPwd)){
			//將頁面需要使用的資料儲存
			mav.addObject("currentUserName", userName);
			//設定檢視名稱
			mav.setViewName("/index.jsp");
		}
		else{
			mav.addObject("error", "使用者名稱或密碼錯誤");
			mav.setViewName("/login.jsp");
		}

		return mav;
	}

}

6、登入頁面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>使用者登入</title>
</head>
<body>
	${error }
	<form action="login.html" method="post">
		使用者名稱:<input type="text" name="userName" /><br />
		密&nbsp;&nbsp;碼:<input type="text" name="userPwd" /><br />
		<input type="submit" value="登陸" />
	</form>

</body>
</html>

7、歡迎介面index.jsp

1
2
3
4
5
6
7
8
9
10
11
12
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	當前登陸的使用者名稱${currentUserName }
</body>
</html>

效果截圖

登入介面

登入成功

http://xhay1122.com/2015/04/24/2015-04-24-SpringMVCDemo1/

################################################################

springmvc執行流程圖