详细说明Spring MVC的本质就是一个servlet,是对原生的servlet进行了封装。在以前浏览器的每一次请求都需要写一个对应的servlet,现在只需将浏览器的请求和响应交给DispatcheServlet进行统一的处理。设计一个注册和登录功能,自定义一个登陆验证的控制器,实现正确登陆跳转至欢迎页面,错误登陆跳转至注册页面的基本功能。
时间: 2024-01-21 20:18:53 浏览: 24
首先,Spring MVC是一个基于MVC架构的框架,它的本质是一个servlet,但它并不是对原生servlet进行封装,而是基于servlet API进行开发,提供了更加便捷、高效的方式进行Web应用程序的开发。
接下来,实现注册和登录功能,可以按照以下步骤进行:
1. 创建一个Controller类,用于处理用户的请求和响应,例如:
```java
@Controller
public class UserController {
// 注册页面
@GetMapping("/register")
public String register() {
return "register";
}
// 登录页面
@GetMapping("/login")
public String login() {
return "login";
}
// 登录验证
@PostMapping("/login")
public String login(HttpServletRequest request, HttpServletResponse response) {
String username = request.getParameter("username");
String password = request.getParameter("password");
// 进行登录验证,如果验证成功则跳转至欢迎页面,否则跳转至注册页面
if (username.equals("admin") && password.equals("123456")) {
return "welcome";
} else {
return "redirect:/register";
}
}
}
```
2. 创建对应的视图模板,例如:
在resources/templates目录下创建register.html、login.html和welcome.html三个文件,分别对应注册页面、登录页面和欢迎页面。
register.html:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册页面</title>
</head>
<body>
<h1>注册页面</h1>
<form action="/register" method="post">
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<button type="submit">注册</button>
</form>
</body>
</html>
```
login.html:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<h1>登录页面</h1>
<form action="/login" method="post">
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<button type="submit">登录</button>
</form>
</body>
</html>
```
welcome.html:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>欢迎页面</title>
</head>
<body>
<h1>欢迎页面</h1>
<p>登录成功!</p>
</body>
</html>
```
3. 配置DispatcherServlet
在web.xml文件中配置DispatcherServlet,例如:
```xml
<servlet>
<servlet-name>dispatcherServlet</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>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
```
4. 配置视图解析器
在springmvc-config.xml文件中配置视图解析器,例如:
```xml
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".html"></property>
</bean>
```
5. 运行程序并进行测试
在浏览器中访问http://localhost:8080/login,即可进入登录页面,输入正确的用户名和密码,即可跳转至欢迎页面;输入错误的用户名和密码,则会跳转至注册页面。