本文将详细讲解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:新增商品
- 用户在新增商品页面上填写信息,包括商品名称、商品价格、商品描述等;
- 用户提交表单数据,发送POST请求到服务器;
- 服务器接收到请求,将表单数据封装成Good对象;
- 服务器调用GoodService的save方法,将Good对象保存到数据库中;
- 服务器重定向到商品列表页面,显示最新的商品信息。
示例2:查询商品
- 用户在商品列表页面上点击某个商品的信息;
- 用户发送GET请求到服务器,获取该商品的详细信息;
- 服务器接收到请求,从数据库中查询对应的Good对象;
- 服务器将Good对象作为模型数据,返回给商品详情页面;
- 服务器在商品详情页面上渲染模型数据,显示商品的详细信息。
总结
本攻略详细介绍了SSH框架网上商城项目第2战之基本增删查改、Service和Action的抽取的完整攻略。通过本文的学习,读者可以了解SSH框架的基本操作,并实现一个简单的Web应用程序。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SSH框架网上商城项目第2战之基本增删查改、Service和Action的抽取 - Python技术站