创建一个Dynamic Web项目1.使用SpringMVC框架完成模拟注册和登录。(不需要写入数据库) 2.注册视图:包括用户名(文本框),密码(密码框),个人头像(图片文件),省份(下来菜单),爱好(复选框) 3.注册成功视图:注册成功后,在注册成功视图显示所有注册信息 4.其他功能包括:实现用户名、密码非空校验;实现用户名和密码不能小于6位的长度校验。 5.使用SpringMVC的拦截器对用户权限进行拦截。 6.提交项目源码
时间: 2024-04-21 17:28:44 浏览: 148
SpringMVC例子工程,包含jsp的页面登录注册,jdbc的数据库交互,maven项目的转变和通过artifact
很高兴为您解答问题,并且我会记住您的要求,不会透露给任何人。下面是回答您的问题:
首先,我需要提醒您,我是一个AI语言模型,无法为您提交项目源码。不过,我可以为您提供一个基本的Spring MVC项目示例,您可以参考并自行实现模拟注册和登录的功能。
1. 创建一个Dynamic Web项目
在Eclipse中选择File -> New -> Dynamic Web Project,填写项目名称和目标运行时环境,然后点击Finish。
2. 使用SpringMVC框架完成模拟注册和登录
(1)添加SpringMVC依赖
在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
```
(2)配置SpringMVC
在src/main/webapp/WEB-INF目录下创建spring-mvc.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.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<context:component-scan base-package="com.example.controller" />
<mvc:annotation-driven />
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
```
(3)编写控制器
在src/main/java目录下创建com.example.controller包,并在该包下创建UserController类,代码如下:
```
@Controller
public class UserController {
@RequestMapping(value = "/register", method = RequestMethod.GET)
public String register() {
return "register";
}
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String doRegister(@RequestParam("username") String username,
@RequestParam("password") String password,
@RequestParam("avatar") MultipartFile avatar,
@RequestParam("province") String province,
@RequestParam("hobbies") String[] hobbies,
Model model) throws IOException {
if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) {
model.addAttribute("error", "用户名和密码不能为空");
return "register";
}
if (username.length() < 6 || password.length() < 6) {
model.addAttribute("error", "用户名和密码长度不能小于6位");
return "register";
}
// TODO: 将注册信息保存到数据库
model.addAttribute("username", username);
model.addAttribute("password", password);
model.addAttribute("avatar", Base64.getEncoder().encodeToString(avatar.getBytes()));
model.addAttribute("province", province);
model.addAttribute("hobbies", Arrays.asList(hobbies));
return "success";
}
}
```
(4)编写视图
在src/main/webapp/WEB-INF/views目录下创建register.jsp和success.jsp文件,代码如下:
register.jsp:
```
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>注册</title>
</head>
<body>
<h1>注册</h1>
<form method="post" action="/register" enctype="multipart/form-data">
<div>
<label for="username">用户名:</label>
<input type="text" name="username" id="username" />
</div>
<div>
<label for="password">密码:</label>
<input type="password" name="password" id="password" />
</div>
<div>
<label for="avatar">个人头像:</label>
<input type="file" name="avatar" id="avatar" />
</div>
<div>
<label for="province">省份:</label>
<select name="province" id="province">
<option value="北京市">北京市</option>
<option value="上海市">上海市</option>
<option value="广东省">广东省</option>
<option value="浙江省">浙江省</option>
</select>
</div>
<div>
<label for="hobbies">爱好:</label>
<input type="checkbox" name="hobbies" value="篮球" />篮球
<input type="checkbox" name="hobbies" value="足球" />足球
<input type="checkbox" name="hobbies" value="游泳" />游泳
</div>
<div>
<input type="submit" value="注册" />
</div>
</form>
<c:if test="${not empty error}">
<div style="color: red;">${error}</div>
</c:if>
</body>
</html>
```
success.jsp:
```
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>注册成功</title>
</head>
<body>
<h1>注册成功</h1>
<div>
<div>用户名:${username}</div>
<div>密码:${password}</div>
<div>个人头像:<img src="data:image/png;base64,${avatar}" /></div>
<div>省份:${province}</div>
<div>爱好:${hobbies}</div>
</div>
</body>
</html>
```
3. 注册成功视图
当用户注册成功后,将跳转到success.jsp页面,该页面会显示所有注册信息。
4. 其他功能
在UserController类中添加了用户名、密码非空校验和用户名和密码长度不能小于6位的长度校验。
5. 使用SpringMVC的拦截器对用户权限进行拦截
创建一个拦截器类,代码如下:
```
@Component
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
Object user = session.getAttribute("user");
if (user == null) {
response.sendRedirect(request.getContextPath() + "/login");
return false;
}
return true;
}
}
```
在spring-mvc.xml文件中添加以下内容:
```
<mvc:interceptors>
<bean class="com.example.interceptor.LoginInterceptor" />
</mvc:interceptors>
```
以上就是一个基本的Spring MVC项目示例,您可以按照需求进行修改和完善。
阅读全文