在当今的Web开发中,SSH(Struts2 + Spring + Hibernate)框架因其强大的功能和良好的扩展性而被广泛应用。而JSP(JavaServer Pages)作为Java Web开发的重要技术之一,负责展示页面。本文将带你通过SSH框架实现从JSP页面获取数据的功能,让你轻松实现前后端数据交互。
一、环境准备
在开始之前,请确保你已经安装了以下软件:

- JDK 1.8及以上版本
- MySQL数据库
- Tomcat服务器
- Eclipse IDE
- Maven
二、项目结构
以下是项目的目录结构:
```
*project
│
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── *sshdemo
│ │ │ ├── action
│ │ │ │ └── UserAction.java
│ │ │ ├── dao
│ │ │ │ └── UserDao.java
│ │ │ ├── model
│ │ │ │ └── User.java
│ │ │ └── service
│ │ │ └── UserService.java
│ │ ├── resources
│ │ │ ├── struts.xml
│ │ │ ├── applicationContext.xml
│ │ │ └── hibernate.cfg.xml
│ │ └── webapp
│ │ ├── WEB-INF
│ │ │ ├── web.xml
│ │ │ └── views
│ │ │ └── user.jsp
│ │ └── index.jsp
│ └── test
│ └── java
│ └── com
│ └── *sshdemo
│ └── test
│ └── UserDaoTest.java
└── pom.xml
```
三、创建数据库表
我们需要在MySQL数据库中创建一个名为`user`的表,用于存储用户信息。以下是创建表的SQL语句:
```sql
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
四、创建实体类
接下来,我们需要创建一个名为`User`的实体类,用于表示用户信息。
```java
package com.*sshdemo.model;
public class User {
private int id;
private String username;
private String password;
// 省略getter和setter方法
}
```
五、创建数据访问层
在`UserDao.java`中,我们定义了数据访问层的方法,用于操作数据库。
```java
package com.*sshdemo.dao;
import java.util.List;
import com.*sshdemo.model.User;
public interface UserDao {
void addUser(User user);
List
User findUserById(int id);
void deleteUser(int id);
void updateUser(User user);
}
```
六、创建业务逻辑层
在`UserService.java`中,我们定义了业务逻辑层的方法,用于处理用户信息。
```java
package com.*sshdemo.service;
import java.util.List;
import com.*sshdemo.dao.UserDao;
import com.*sshdemo.model.User;
public class UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void addUser(User user) {
userDao.addUser(user);
}
public List
return userDao.findAll();
}
public User findUserById(int id) {
return userDao.findUserById(id);
}
public void deleteUser(int id) {
userDao.deleteUser(id);
}
public void updateUser(User user) {
userDao.updateUser(user);
}
}
```
七、创建控制器
在`UserAction.java`中,我们定义了控制器类,用于处理用户请求。
```java
package com.*sshdemo.action;
import com.*sshdemo.model.User;
import com.*sshdemo.service.UserService;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UserAction {
private UserService userService;
public void setUserService(UserService userService) {
this.userService = userService;
}
public String addUser(HttpServletRequest request, HttpServletResponse response) {
User user = new User();
user.setUsername(request.getParameter("







