SSH是指Spring+Struts2+Hibernate,它是一种基于Java的Web开发框架。SSH框架结合了Spring的容器管理、Struts2的MVC设计模式和Hibernate的对象关系映射,使得开发人员能够更加方便地进行Java Web应用程序的开发。
下面是一个简单的SSH框架的示例代码:
- 创建一个Spring的配置文件spring.xml:
<beans>
<!-- 配置Spring的核心容器 -->
<bean id="userService" class="com.example.UserService">
<!-- 注入其他依赖的bean -->
<property name="userDao" ref="userDao" />
</bean>
<bean id="userDao" class="com.example.UserDao">
<!-- 注入其他依赖的bean -->
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 配置Hibernate的SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list>
<value>com.example.User</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<!-- 配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="123456" />
</bean>
<!-- 配置Struts2的核心过滤器 -->
<bean id="strutsFilter" class="org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter" />
</beans>
- 创建一个Struts2的配置文件struts.xml:
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="user" class="com.example.UserAction" method="list">
<result name="success">/WEB-INF/views/user.jsp</result>
</action>
</package>
</struts>
- 创建一个Hibernate实体类User.java:
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String password;
// 省略getter和setter方法
}
- 创建一个Hibernate的数据访问对象UserDao.java:
@Repository
public class UserDao {
@Autowired
private SessionFactory sessionFactory;
public List<User> findAll() {
Session session = sessionFactory.getCurrentSession();
Query query = session.createQuery("from User");
return query.list();
}
// 省略其他操作方法
}
- 创建一个Spring的业务逻辑类UserService.java:
@Service
public class UserService {
@Autowired
private UserDao userDao;
public List<User> getAllUsers() {
return userDao.findAll();
}
// 省略其他操作方法
}
- 创建一个Struts2的Action类UserAction.java:
@Controller
public class UserAction {
@Autowired
private UserService userService;
private List<User> userList;
public String list() {
userList = userService.getAllUsers();
return "success";
}
// 省略其他操作方法和getter/setter方法
}
上述示例代码中,Spring框架负责管理UserService和UserDao两个bean的创建和依赖注入,Hibernate框架负责与数据库进行交互,Struts2框架负责处理用户的请求和返回相应的视图。整个SSH框架协同工作,实现了一个简单的用户列表展示功能。