SSH框架网上商城项目第2战之基本增删查改、Service和Action的抽取

本文将详细讲解SSH框架网上商城项目第2战之基本增删查改、Service和Action的抽取的完整攻略,包括概述、步骤、示例等内容。

概述

SSH框架是指以Struts2作为Web层,Spring作为业务层和数据访问层的容器,Hibernate作为数据持久化层的开发框架。本次攻略的目的是介绍如何在SSH框架下实现基本增删查改操作,以及Service和Action的抽取,帮助开发者快速搭建Web应用程序。

步骤

1. 创建数据库和表

首先需要创建一个数据库和相应的表,以便于对数据进行操作。

例如,我们创建一个shop数据库,其中包含一个goods表:

CREATE DATABASE `shop` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

USE `shop`;

CREATE TABLE `goods` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `description` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. 创建JavaBean

其次需要创建一个JavaBean,用于封装goods表的数据。

例如,我们创建一个Good类,其中包含id、name、price、description四个属性,并为每个属性添加getter和setter方法:

public class Good {
    private int id;
    private String name;
    private BigDecimal price;
    private String description;

    // getter 和 setter 方法
}

3. 创建Dao层

然后需要创建一个Dao层,用于实现对数据库的增删查改操作。

例如,我们创建一个GoodDao接口和它的实现类GoodDaoImpl,其中包含增删查改四个方法:

public interface GoodDao {
    void save(Good good);
    void delete(Good good);
    void update(Good good);
    Good findById(int id);
}

public class GoodDaoImpl extends BaseDaoImpl<Good> implements GoodDao {
    // 实现 GoodDao 接口
}

注意:这里GoodDaoImpl继承了一个BaseDaoImpl类,我们可以将一些公共的CRUD操作抽离出来,然后在BaseDaoImpl中实现。这样能够避免重复代码,提高开发效率。

4. 创建Service层

接着需要创建一个Service层,用于封装Dao层的操作,并暴露给Action层调用。

例如,我们创建一个GoodService接口和它的实现类GoodServiceImpl,其中包含增删查改四个方法:

public interface GoodService {
    void save(Good good);
    void delete(Good good);
    void update(Good good);
    Good findById(int id);
}

public class GoodServiceImpl extends BaseServiceImpl<Good> implements GoodService {
    // 实现 GoodService 接口
}

注意:这里GoodServiceImpl继承了一个BaseServiceImpl类,我们可以将一些公共的CRUD操作抽离出来,然后在BaseServiceImpl中实现。这样能够避免重复代码,提高开发效率。

5. 创建Action层

最后需要创建一个Action层,用于处理用户请求,调用Service层获取数据,然后将数据返回给用户。

例如,我们创建一个GoodAction类,其中包含增删查改四个方法:

public class GoodAction extends BaseAction<Good> {
    // 实现增删查改方法
}

注意:这里GoodAction继承了一个BaseAction类,我们可以将一些公共的操作抽离出来,然后在BaseAction中实现。这样能够避免重复代码,提高开发效率。

6. 配置XML文件

最后需要在Spring和Struts2的XML配置文件中进行相应的配置。

例如,我们在spring.xml中配置一个bean,用于注入GoodDaoImpl实例:

<bean id="goodDao" class="com.example.dao.impl.GoodDaoImpl">
    <property name="sessionFactory" ref="sessionFactory"></property>
</bean>

在struts.xml中配置一个action,用于映射GoodAction和对应的页面:

<package name="good" namespace="/" extends="struts-default">
    <action name="good_*" class="com.example.action.GoodAction" method="{1}">
        <result name="success" type="redirectAction">good_list</result>
    </action>
    <action name="good_list" class="com.example.action.GoodAction" method="list">
        <result name="success">/good/list.jsp</result>
    </action>
</package>

示例

下面给出两个示例,分别是新增商品和查询商品:

示例1:新增商品

  1. 用户在新增商品页面上填写信息,包括商品名称、商品价格、商品描述等;
  2. 用户提交表单数据,发送POST请求到服务器;
  3. 服务器接收到请求,将表单数据封装成Good对象;
  4. 服务器调用GoodService的save方法,将Good对象保存到数据库中;
  5. 服务器重定向到商品列表页面,显示最新的商品信息。

示例2:查询商品

  1. 用户在商品列表页面上点击某个商品的信息;
  2. 用户发送GET请求到服务器,获取该商品的详细信息;
  3. 服务器接收到请求,从数据库中查询对应的Good对象;
  4. 服务器将Good对象作为模型数据,返回给商品详情页面;
  5. 服务器在商品详情页面上渲染模型数据,显示商品的详细信息。

总结

本攻略详细介绍了SSH框架网上商城项目第2战之基本增删查改、Service和Action的抽取的完整攻略。通过本文的学习,读者可以了解SSH框架的基本操作,并实现一个简单的Web应用程序。

阅读剩余 69%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SSH框架网上商城项目第2战之基本增删查改、Service和Action的抽取 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Java Stopwatch类,性能与时间计时器案例详解

    Java Stopwatch类,性能与时间计时器案例详解 在Java开发中,我们有时候需要统计代码的执行时间及性能等指标信息,这时候我们可以使用Java中的Stopwatch类来实现。本文将详细讲解Stopwatch类的使用以及示例。 1. Stopwatch类的使用 Stopwatch类是Google Guava库中提供的计时器类,可以实现启动、停止和恢复…

    Java 2023年5月19日
    00
  • SpringBoot整合Security权限控制登录首页

    下面我将详细讲解“SpringBoot整合Security权限控制登录首页”的完整攻略,并给出两个示例来帮助理解。 一、准备工作 1.1 引入依赖 首先,我们需要在pom.xml文件中引入相关依赖: <!– Spring Security依赖 –> <dependency> <groupId>org.springfra…

    Java 2023年5月20日
    00
  • java 学习笔记(入门篇)_java的基础语法

    《Java 学习笔记(入门篇)_Java 的基础语法》是一篇旨在帮助 Java 初学者掌握基础语法的文章。它逐步介绍了 Java 的基础数据类型、运算符、控制语句、数组、面向对象等内容,并给出了一些例子,帮助读者更好地理解这些概念。 以下是该篇攻略的详细介绍: Java 的基础数据类型 Java 的基础数据类型包括整型、浮点型、字符型、布尔型等。这些数据类型…

    Java 2023年5月23日
    00
  • Java正则表达式入门基础篇(新手必看)

    让我来为你详细讲解一下“Java正则表达式入门基础篇(新手必看)”这篇文章的完整攻略。 标题 首先,我们来看一下文章的标题:“Java正则表达式入门基础篇(新手必看)”。这个标题十分的清晰明了,表明了本文的主题和受众人群。接下来我们来一步一步的解析这篇文章的内容: 介绍 首先,文章介绍了正则表达式的定义,即一种用来匹配字符串的文本模式。同时也解释了正则表达式…

    Java 2023年5月27日
    00
  • java如何使用Lombok更优雅地编码

    Java开发中,有很多操作都是重复而无聊的,例如get/set方法的编写。通过使用Lombok,可以在编码时更加优雅,省去这些重复的部分。下面是Java如何使用Lombok更优雅地编码的完整攻略: 1. 安装Lombok 首先在Maven中,添加Lombok的依赖: <dependency> <groupId>org.projectl…

    Java 2023年5月20日
    00
  • Java对数器验证算法详解

    介绍Java对数器验证算法的完整攻略如下: 什么是Java对数器验证算法 首先,我们来了解一下Java对数器验证算法的概念。Java对数器验证算法是一种通过自我验证来测试程序正确性的方法。它通过生成符合要求的随机数据,并与待测试程序得到的结果进行比对,从而验证待测试程序的正确性。该算法通常用于比较复杂的算法、数据结构等程序的正确性验证。 Java对数器验证算…

    Java 2023年5月19日
    00
  • java中找不到符号的解决方案

    当Java程序在编译时出现“找不到符号”的错误时,通常意味着在代码中引用了一个不存在的类、方法或变量。这种错误通常是由以下几种情况引起的: 类或方法拼写错误 缺少必要的库或包 编译时缺少依赖项 尝试在不正确的作用域中引用变量或方法 下面将为您介绍一些可能的解决方案来解决此类问题。 1.检查拼写错误 如果Java程序在编译时出现“找不到符号”的错误,第一步应该…

    Java 2023年5月20日
    00
  • 使用Apache Camel表达REST服务的方法

    使用Apache Camel表达REST服务是一种简单有效的方法,下面是详细的攻略: 什么是Apache Camel Apache Camel是一个开源的java框架,它提供了丰富的组件和工具,用于构建高效、可靠、可扩展的企业应用集成。Camel的核心概念是路由,你可以通过编写路由来定义消息路线、传输协议等一系列复杂的业务逻辑。 创建REST服务 首先,我们…

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