SSH框架网上商城项目第1战之整合Struts2、Hibernate4.3和Spring4.2

我们来讲解一下“SSH框架网上商城项目第1战之整合Struts2、Hibernate4.3和Spring4.2”的完整攻略。

简介

SSH框架是指Struts2、Hibernate、Spring这三个开源框架的组合,是经典的Java Web框架。整合这三个框架可以让项目的开发更高效、更具可维护性。

本文将讲解如何将这三个框架整合在网上商城项目中。

整合步骤

1.添加相关依赖
在pom.xml中添加Struts2、Hibernate和Spring相关的依赖。

<!-- Struts2 -->
<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>2.5.26</version>
</dependency>
<!-- Hibernate -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>4.3.11.Final</version>
</dependency>
<!-- Spring -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.2.4.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.2.4.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>4.2.4.RELEASE</version>
</dependency>

2.配置Struts2
在web.xml中配置Struts2的过滤器和监听器。

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
    <listener-class>org.apache.struts2.dispatcher.ng.listener.StrutsListener</listener-class>
</listener>

3.配置Hibernate
在applicationContext.xml中配置Hibernate的SessionFactory和TransactionManager。

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/shopping?useUnicode=true&characterEncoding=UTF-8"/>
    <property name="username" value="root"/>
    <property name="password" value="root"/>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="packagesToScan" value="org.example.shopping.entity"/>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
            <prop key="hibernate.show_sql">true</prop>
        </props>
    </property>
</bean>

<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>

4.配置Spring
在applicationContext.xml中配置Spring的组件扫描和注解驱动。

<context:component-scan base-package="org.example.shopping.service, org.example.shopping.dao"/>
<mvc:annotation-driven/>

5.编写业务逻辑代码
在业务逻辑层和数据访问层分别注入SessionFactory和HibernateTemplate。

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDao userDao;

    @Transactional
    public void addUser(User user) {
        userDao.add(user);
    }
}

@Repository
public class UserDaoImpl extends HibernateDaoSupport implements UserDao {

    @Autowired
    public void setSessionFactoryOverride(SessionFactory sessionFactory) {
        super.setSessionFactory(sessionFactory);
    }

    public void add(User user) {
        getHibernateTemplate().save(user);
    }
}

至此,整合Struts2、Hibernate和Spring的工作就完成了。

示例

以下是两个使用整合后的SSH框架的示例:

控制器

public class UserAction extends ActionSupport {

    private User user;

    @Autowired
    private UserService userService;

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public String addUser() {
        userService.addUser(user);
        return SUCCESS;
    }

    // other methods
}

JSP界面

<s:form action="addUser">
    <s:textfield name="user.username" label="用户名"/>
    <s:password name="user.password" label="密码"/>
    <s:submit value="注册"/>
</s:form>

以上就是整合Struts2、Hibernate4.3和Spring4.2的完整攻略,希望可以帮助到你。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SSH框架网上商城项目第1战之整合Struts2、Hibernate4.3和Spring4.2 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Java编程异常处理最佳实践【推荐】

    Java编程异常处理最佳实践【推荐】 异常是Java编程的重要组成部分。良好的异常处理可以更好地保证程序的健壮性、可读性和可维护性。下面是Java编程异常处理的最佳实践: 1. 异常类型的选择 Java中提供了一些异常类型,例如Checked Exception、UnChecked Exception和Error。在编写代码时,需要根据具体的情况选择合适的异…

    Java 2023年5月27日
    00
  • Java工具类实现高效编写报表

    我来详细讲解一下“Java工具类实现高效编写报表”的完整攻略。本攻略主要涵盖以下几个方面的内容:报表目录结构的设计、报表数据源的封装、样式字体设置、利用工具类快速高效编写表格及导出报表等。 报表目录结构的设计 在开始编写报表之前,需要对报表目录结构进行设计。一个良好的目录结构有利于整个项目的组织和管理,同时也有利于快速查找和定位文件。一般建议将报表相关的文件…

    Java 2023年5月19日
    00
  • Java中byte输出write到文件的实现方法讲解

    下面是Java中byte输出write到文件的实现方法的详细攻略。 简介 在Java中,我们可以使用 FileOutputStream 将byte数组输出到文件,实现byte数据的写入。这个过程需要以下步骤: 创建输出文件的 FileOutputStream 对象 写入数据到输出流中 关闭输出流 实现方法 Step 1:创建输出文件的FileOutputSt…

    Java 2023年5月26日
    00
  • 微信小程序实现分页功能

    下面是“微信小程序实现分页功能”的完整攻略。 1.前置准备 在实现分页功能之前,需要准备好以下内容: 微信小程序开发环境、开发工具(如微信开发者工具); 分页数据的获取接口; 显示分页数据的页面。 2.分页功能实现 2.1 前端页面布局 在前端页面的布局中,需要考虑到分页的展示以及交互方式。一般来说,分页功能需要包含以下元素: 上一页按钮; 下一页按钮; 当…

    Java 2023年5月23日
    00
  • 深入解析Java的Spring框架中的混合事务与bean的区分

    深入解析Java的Spring框架中的混合事务与bean的区分,这是一个比较广泛的话题,我们可以从以下几个方面进行讲解: Spring框架事务管理的概述 Spring混合事务的定义与原理 Spring Bean的定义与作用 如何区分Spring混合事务与Bean 1. Spring框架事务管理的概述 Spring框架中的事务管理是一种重要的机制,可以帮助我们…

    Java 2023年5月20日
    00
  • Java实现广度优先遍历的示例详解

    Java实现广度优先遍历的示例详解 什么是广度优先遍历 广度优先遍历(Breadth First Search, BFS)是一种图形的遍历算法,其遍历能力基于层次高效地访问相邻节点,并按顺序访问节点。这种方式即宽度优先,图形遍历的起点为根节点,相关的数据结构是队列。 广度优先遍历的应用 广度优先遍历算法在许多领域都有应用,比如: 寻找最短路径 二叉树搜索 网…

    Java 2023年5月19日
    00
  • Java的Struts框架报错“ObjectNotFoundException”的原因与解决办法

    当使用Java的Struts框架时,可能会遇到“ObjectNotFoundException”错误。这个错误通常由以下原因之一起: 对象不存在:如果请求的对象不存在,则可能会出现此错误。在这种情况下,需要检查对象是否存在以解决此问题。 配置错误:如果配置文件中没有正确配置,则可能会出现此错误。在这种情况下,需要检查文件以解决此问题。 以下是两个实例: 例 …

    Java 2023年5月5日
    00
  • SpringBoot异常错误页面实现方法介绍

    让我来详细讲解“SpringBoot异常错误页面实现方法介绍”的完整攻略。 1. 实现方式介绍 SpringBoot提供了两种方式来实现异常错误页面: 1.1 自定义ErrorController 通过自定义ErrorController的方式,我们可以根据异常类型,异常状态码或者URL地址来进行异常信息的处理和跳转。这个方法需要手动实现异常信息的处理和跳转…

    Java 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部