SpringMVC 實現注冊登錄


記錄一下SpringMVC實現注冊登錄功能這個小程序。


一、新建動態Dynamic Web Project:

  1. 新建Dynamic Web Project,項目名為LoginSpringMVC
  2. 導入相應的JAR包:
    在這里插入圖片描述
  3. 項目整體結構:
    在這里插入圖片描述

二、配置web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
	<display-name>LoginSpringMVC</display-name>
	
	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:springmvc-config.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
	
	
	  <!--字符編碼過濾器 -->
	  <filter>  
        <filter-name>characterEncodingFilter</filter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
        
        <!-- 是否強制設在request編碼 -->
        <init-param>  
            <param-name>forceEncoding</param-name>  
            <param-value>true</param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>characterEncodingFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping> 
</web-app>

三、創建jsp文件:

loginFrom.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登錄頁面</title>
</head>
<body>
	<h3>登錄頁面</h3>
	<br>
	<form action="login" method="post">
		<table>
			<tr>
				<td><label>登錄名:</label></td>
				<td><input type="text" id="loginname" name="loginname"></td>
			</tr>
			<tr>
				<td><label>密碼:</label></td>
				<td><input type="password" id="password" name="password"></td>
			</tr>
			<tr>
				<td><input id="submit" type="submit" value="登錄"></td>
			</tr>
		</table>
	</form>
</body>
</html>

registerFrom.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注冊頁面</title>
</head>
<body>
	<h3>注冊頁面</h3>
	<br>
	<form action="register" method="post">
		<table>
			<tr>
				<td><label>登錄名:</label></td>
				<td><input type="text" id="loginname" name="loginname"></td>
			</tr>
			<tr>
				<td><label>密碼:</label></td>
				<td><input type="password" id="password" name="password"></td>
			</tr>
			<tr>
				<td><label>真實姓名:</label></td>
				<td><input type="text" id="username" name="username"></td>
			</tr>
			<tr>
				<td><input id="submit" type="submit" value="注冊"></td>
			</tr>
		</table>
	</form>
</body>
</html>

welcome.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登陸成功頁面</title>
</head>
<body>
	<h3>歡迎${requestScope.user.username }登錄</h3>
	<br>
</body>
</html>

四、編寫java文件:

User.java :

package com.smk.domain;

public class User {
	private String loginname;
	private String password;
	private String username;

	public String getLoginname() {
		return loginname;
	}

	public void setLoginname(String loginname) {
		this.loginname = loginname;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}
}

UserController.java:

import java.util.ArrayList;
import java.util.List;
import com.smk.domain.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
@RequestMapping(value = "/user")
public class UserController {
	// 靜態List<User>集合,此處代替數據庫用來保存注冊的用戶信息
	private static List<User> userList;

	// UserController類的構造器,初始化List<User>集合
	public UserController() {
		super();
		userList = new ArrayList<User>();
	}

	@RequestMapping(value = "/register", method = RequestMethod.GET)
	public String registerForm() {
		return "registerForm";
	}

	@RequestMapping(value = "/register", method = RequestMethod.POST)
	public String register(@RequestParam("loginname") String loginname, 
						   @RequestParam("password") String password,
						   @RequestParam("username") String username) {

		// 創建user對象
		User user = new User();
		user.setLoginname(loginname);
		user.setPassword(password);
		user.setUsername(username);
		// 模擬數據庫存儲User信息
		userList.add(user);
		return "loginForm";
	}

	// 登錄
	@RequestMapping("/login")
	public String login(@RequestParam("loginname") String loginname, 
						@RequestParam("password") String password,
						Model model) {
		// 到集合中查找用戶是否存在,此處用來模擬數據庫驗證
		for (User user : userList) {
			if (user.getLoginname().equals(loginname) && user.getPassword().equals(password)) {
				model.addAttribute("user", user);
				return "welcome";
			}
		}
		return "loginForm";
	}
}

五、配置springmvc-config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
    
	<!--默認的注解映射的支持 -->
	<mvc:annotation-driven />
	
	<!--啟用自動掃描 -->
	<context:component-scan base-package="com.smk.controller" />
	
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/content/" />
		<property name="suffix" value=".jsp" />
	</bean>
</beans>

六、測試:

訪問 http://localhost:8080/LoginSpringMVC/user/register

在這里插入圖片描述
在這里插入圖片描述
輸入注冊數據會自動跳轉到 Login 頁面

在這里插入圖片描述
完成登錄:

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM