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

一、环境准备

在开始之前,请确保你已经安装了以下软件:

SSH获取JSP页面值实例教程轻松实现前后端数据交互  第1张

  • 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 findAll();

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 findAll() {

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("