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日

相关文章

  • 使用WebUploader实现上传文件功能(一)

    使用WebUploader实现上传文件功能(一)是一篇介绍如何在网站中使用WebUploader插件来实现文件上传功能的文章。 以下是该文章的详细攻略: 1. 确认环境 在使用WebUploader之前,需要确认网站中是否已经引入了jQuery和WebUploader的JavaScript文件。如果没有引入,需要先在需要使用上传功能的页面中引入这些文件。 2…

    Java 2023年6月15日
    00
  • 一个注解搞定Spring Security基于Oauth2的SSO单点登录功能

    下面我将详细讲解“一个注解搞定 Spring Security 基于 OAuth2 的 SSO 单点登录功能”的完整攻略。 概述 在使用 Spring Cloud 微服务框架时,为了方便统一认证和授权,我们通常会使用 Spring Security 和 OAuth2 客户端来实现单点登录(SSO)功能。这种方式需要在多个服务之间进行认证授权的传递和校验,需要…

    Java 2023年5月20日
    00
  • java处理字节的常用工具类

    Java处理字节的常用工具类 Java作为一门强大的编程语言,提供了一系列的工具类来处理字节数据。在以下的文章中,我将会详细讲解Java处理字节的常用工具类,包括InputStream、OutputStream、ByteArrayInputStream、ByteArrayOutputStream、DataInputStream、DataOutputStrea…

    Java 2023年5月27日
    00
  • java模拟ATM功能(控制台连接Mysql数据库)

    以下是详细讲解“java模拟ATM功能(控制台连接Mysql数据库)”的完整攻略: 系统要求 JDK 1.8 或以上版本 Mysql 5.0 或以上版本 准备工作 创建一个名为 atm 的 Mysql 数据库 CREATE DATABASE atm; 创建一个名为 users 的表,用于储存 ATM 用户信息 USE atm; CREATE TABLE us…

    Java 2023年5月20日
    00
  • Java基于IDEA实现http编程的示例代码

    Java基于IDEA实现HTTP编程的示例代码攻略主要分为以下几个步骤: 步骤一:导入依赖 首先需要在项目中导入 httpclient 依赖包。在 pom.xml 文件中添加以下依赖: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifac…

    Java 2023年5月19日
    00
  • Eclipse将Maven项目打成jar包的方法

    下面是关于“Eclipse将Maven项目打成jar包的方法”的完整攻略: 1. 确认项目pom.xml中已设置打包类型为jar 在pom.xml文件中确认如下代码是否已设置: <packaging>jar</packaging> 如果没有设置,则需要添加上述代码。修改完毕后,保存pom.xml文件并执行Maven的clean和ins…

    Java 2023年5月20日
    00
  • 详解kotlin中::双冒号的使用

    详解kotlin中::双冒号的使用 在Kotlin中,双冒号::是一个重要的语法符号,它可以表示一些函数和属性的引用。双冒号有以下用法: 1. 表示函数引用 可以使用::符号来表示一个函数的引用,例如: fun plus(a: Int, b: Int): Int = a + b val functionRef = ::plus 在上面的代码中,functio…

    Java 2023年5月26日
    00
  • 使用JAVA通过ARP欺骗类似P2P终结者实现数据封包监听

    首先需要明确的是,ARP欺骗是指通过伪造ARP响应的方式,诱导受害者将数据包发送至攻击者的电脑,从而实现数据封包监听、拦截等攻击行为。下面给出使用Java实现ARP欺骗的攻略过程。 1. 获取受害者电脑的MAC地址 要实现ARP欺骗的攻击,首先需要获取受害者电脑的MAC地址。可以通过以下代码实现: InetAddress address = InetAddr…

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