SpringMVC 实现登录注册-1

参考:https://blog.csdn.net/write6/article/details/79147925

工程界面

web.xml

<?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">
 
    <!-- 配置DispatchcerServlet -->
    <servlet>
        <servlet-name>springDispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 配置Spring mvc下的配置文件的位置和名称 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/springmvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>springDispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    
    <filter>
		<filter-name>EncodingFilter</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>
	</filter>
	<filter-mapping>
		<filter-name>EncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
    
    <servlet-mapping>
     	<servlet-name>default</servlet-name>
     	<url-pattern>*.css</url-pattern>
	</servlet-mapping>
 
	<servlet-mapping>
      	<servlet-name>default</servlet-name>
      	<url-pattern>*.gif</url-pattern>
	</servlet-mapping>
 
	<servlet-mapping>
    	<servlet-name>default</servlet-name>
     	<url-pattern>*.png</url-pattern>
	</servlet-mapping>
 
	<servlet-mapping>
     	<servlet-name>default</servlet-name>
     	<url-pattern>*.js</url-pattern>
	</servlet-mapping>
 
	<servlet-mapping>
      	<servlet-name>default</servlet-name>
      	<url-pattern>*.html</url-pattern>
	</servlet-mapping>
 
</web-app>

springmvc.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: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.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
		http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

	<!-- 配置自定扫描的包 -->
	<context:component-scan base-package="com.zjq"></context:component-scan>

	<!-- 配置视图解析器: 如何把 handler 方法返回值解析为实际的物理视图 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/views/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

</beans>

index.jsp

<%@ 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=UTF-8">
<title>首页</title>
</head>
<body>
	
	<div style="position;absolute;left:200px;top:100px">
		<a href="${pageContext.request.contextPath}/user/showRegUser" >用户注册</a><br/>
		<a href="${pageContext.request.contextPath}/user/showLogin" >用户登录</a>
	</div>
	
</body>
</html>

login.jsp

<%@ 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=UTF-8">
<title>登录界面</title>
</head>
<body>
	<h3>用户登录</h3><br>
	<form method="post" action="${pageContext.request.contextPath}/user/validateUser">
		<table>
			<tr>
				<td><label>登录名:</label></td>
				<td><input type="text" name="userName"></td>
			</tr>
			<tr>
				<td><label>密码:</label></td>
				<td><input type="password" name="password"></td>
			</tr>
			<tr>
				<td><input type="submit" value="登录"></td>
			</tr>
		</table>
	</form>
</body>
</html>

regUser.jsp

<%@ 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=UTF-8">
<title>用户注册</title>
</head>
<body>
	<h3>用户注册</h3><br>
	<form method="post" action="${pageContext.request.contextPath}/user/addUser">
		<table>
			<tr>
				<td><label>登录名:</label></td>
				<td><input type="text" name="userName"></td>
			</tr>
			<tr>
				<td><label>密码:</label></td>
				<td><input type="password" name="password"></td>
			</tr>
			<tr>
				<td><label>真实姓名:</label></td>
				<td><input type="text" name="fullName"></td>
			</tr>
			<tr>
				<td><input 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 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=UTF-8">
<title>登录成功</title>
</head>
<body>
	${requestScope.user.userName}登录成功
</body>
</html>

User.java

package com.zjq.pojo;

public class User {

	private String userName;
	private String password;
	private String fullName;
	public User(String userName, String password, String fullName) {
		super();
		this.userName = userName;
		this.password = password;
		this.fullName = fullName;
	}
	public User() {
		super();
		// TODO Auto-generated constructor stub
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getFullName() {
		return fullName;
	}
	public void setFullName(String fullName) {
		this.fullName = fullName;
	}

}

UserController.java

package com.zjq.controller;

import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import com.zjq.pojo.*;

@RequestMapping(value="/user")
@Controller
public class UserController {

	private static List<User> userList;
	
	{
		userList = new ArrayList<User>();
	}
	
	/*注册界面*/
	@RequestMapping(value="/showRegUser")
	public String showRegUser() {
		return "regUser";
	}
	
	/*新增用户*/
	@RequestMapping(value="/addUser")
	public String addUser(
			@RequestParam("userName")String userName,
			@RequestParam("password")String password,
			@RequestParam("fullName")String fullName) {
		User user = new User();
		user.setUserName(userName);
		user.setPassword(password);
		user.setFullName(fullName);
		userList.add(user);
		return "login"; //注册成功跳转到登录界面
	}
	
	@RequestMapping(value="showLogin")
	public String showLogin() {  //直接跳转登录界面
		return "login"; 
	}
	
	/*验证用户*/
	@RequestMapping(value="/validateUser")
	public String login(
			@RequestParam("userName")String userName,
			@RequestParam("password")String password,
			Model model) {
		//到集合中查找用户是否存在,此用户用来模拟数据库验证
		for(User user:userList) {
			if(user.getUserName().equals(userName)
					&& user.getPassword().equals(password)) {
				model.addAttribute("user", user);//页面回显数据
				return "welcome";//成功跳转到欢迎界面
			}
		}
		return "login";//验证失败,跳转到登录界面
	}

}

采用数据库登录注册看:SpringMVC 实现登录注册-2,https://blog.csdn.net/qq_39757209/article/details/88087228

猜你喜欢

转载自blog.csdn.net/qq_39757209/article/details/88082551