javaweb项目完整案例
时间: 2023-10-13 16:07:43 浏览: 104
这里提供一个简单的 JavaWeb 项目案例,实现了用户注册、登录、注销、修改个人信息等功能。
1. 创建数据库表
首先创建一个名为 `user` 的表,用于存储用户信息。表中包含以下字段:
| 字段名 | 类型 | 描述 |
| --------- | -------- | -------- |
| id | int | 用户ID |
| username | varchar | 用户名 |
| password | varchar | 密码 |
| email | varchar | 邮箱 |
| telephone | varchar | 手机号码 |
2. 创建 JavaBean
创建一个 `User` 类,用于封装用户信息。
```java
public class User {
private int id;
private String username;
private String password;
private String email;
private String telephone;
// 省略 getter 和 setter 方法
}
```
3. 编写 DAO 层
创建一个 `UserDao` 类,用于实现对 `user` 表的增删改查操作。
```java
public class UserDao {
// 添加用户
public void addUser(User user) {
// TODO: 实现添加用户的代码
}
// 根据用户名和密码查询用户
public User findUserByUsernameAndPassword(String username, String password) {
// TODO: 实现根据用户名和密码查询用户的代码
return null;
}
// 根据用户ID查询用户
public User findUserById(int id) {
// TODO: 实现根据用户ID查询用户的代码
return null;
}
// 更新用户信息
public void updateUser(User user) {
// TODO: 实现更新用户信息的代码
}
// 删除用户
public void deleteUser(int id) {
// TODO: 实现删除用户的代码
}
// 省略其他方法
}
```
4. 编写 Service 层
创建一个 `UserService` 类,用于处理业务逻辑,调用 `UserDao` 类的方法来实现对 `user` 表的操作。
```java
public class UserService {
private UserDao userDao = new UserDao();
// 用户注册
public void register(User user) {
// 判断用户名是否已存在
if (userDao.findUserByUsername(user.getUsername()) != null) {
throw new RuntimeException("用户名已存在");
}
// 添加用户
userDao.addUser(user);
}
// 用户登录
public User login(String username, String password) {
// 根据用户名和密码查询用户
User user = userDao.findUserByUsernameAndPassword(username, password);
// 判断用户是否存在
if (user == null) {
throw new RuntimeException("用户名或密码不正确");
}
return user;
}
// 修改用户信息
public void update(User user) {
// 更新用户信息
userDao.updateUser(user);
}
// 用户注销
public void logout() {
// TODO: 实现用户注销的代码
}
// 省略其他方法
}
```
5. 编写控制器
创建一个 `UserController` 类,用于处理用户请求。
```java
public class UserController {
private UserService userService = new UserService();
// 处理用户注册的请求
public void register(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取表单数据
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email");
String telephone = request.getParameter("telephone");
// 封装用户信息
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setEmail(email);
user.setTelephone(telephone);
// 调用业务逻辑层的方法进行注册
userService.register(user);
// 注册成功,跳转到登录页面
response.sendRedirect(request.getContextPath() + "/login.jsp");
}
// 处理用户登录的请求
public void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取表单数据
String username = request.getParameter("username");
String password = request.getParameter("password");
// 调用业务逻辑层的方法进行登录
User user = userService.login(username, password);
// 将用户信息保存到 Session 中
request.getSession().setAttribute("user", user);
// 登录成功,跳转到首页
response.sendRedirect(request.getContextPath() + "/index.jsp");
}
// 处理用户注销的请求
public void logout(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO: 实现用户注销的代码
}
// 处理用户修改个人信息的请求
public void update(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取表单数据
int id = Integer.parseInt(request.getParameter("id"));
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email");
String telephone = request.getParameter("telephone");
// 封装用户信息
User user = new User();
user.setId(id);
user.setUsername(username);
user.setPassword(password);
user.setEmail(email);
user.setTelephone(telephone);
// 调用业务逻辑层的方法进行修改
userService.update(user);
// 修改成功,跳转到个人信息页面
response.sendRedirect(request.getContextPath() + "/userinfo.jsp");
}
// 省略其他方法
}
```
6. 编写视图
创建 `register.jsp`、`login.jsp`、`index.jsp`、`userinfo.jsp` 等页面,用于展示用户界面。
7. 配置 web.xml
在 `web.xml` 中配置 Servlet 和 JSP。
```xml
<servlet>
<servlet-name>userServlet</servlet-name>
<servlet-class>com.example.controller.UserController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>userServlet</servlet-name>
<url-pattern>/user/*</url-pattern>
</servlet-mapping>
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
```
8. 运行项目
将项目部署到 Tomcat 服务器上,启动服务器,在浏览器中访问 `http://localhost:8080/` 即可访问项目。
阅读全文