项目框架搭建总结:
1、建立Web工程
* 导入需要的jar的包
db:连接数据库的驱动包
hibernate:使用hibernate的jar包
jstl:java的标准标签库
junit:测试用到的jar包
spring:使用spring的jar包
struts2:使用struts2的jar包
* 项目体系分层:
cn.itcast.elec.containner:自定义的spring容器,用于在控制层调用操作业务层
cn.itcast.elec.dao:项目的dao层,负责连接数据库的操作
cn.itcast.elec.daomain:封装实体对象(PO对象),对应连接数据库表的映射文件
cn.itcast.elec.service:项目service层,负责操作各个功能模块的业务逻辑
cn.itcast.elec.util:封装系统使用到的公用类的方法和属性
cn.itcast.elec.web.action:系统控制层,负责页面和项目后台的跳转
cn.itcast.elec.web.form:封装值对象(VO对象),对应页面传递的表单值的属性
junit:测试类
* 配置文件
放置到src的目录下:
beans.xml:spring的配置文件
hibernate.cfg.xml:hibernate的配置文件
struts.xml:struts2的配置文件
2、建立持久层
* 在cn.itcast.elec.domain中创建持久层的对象ElecText.java
public class ElecText implements java.io.Serializable {
private String textID;
private String textName;
private Date textDate;
private String textRemark;
}
* 对应javabean的PO对象,创建于表的映射文件ElecText.hbm.xml文件
<hibernate-mapping>
<class name="cn.itcast.elec.domain.ElecText" table="Elec_Text">
<id name="textID" type="string">
<column name="textID" sql-type="varchar(50)" not-null="true"/>
<generator class="uuid"/>
</id>
<property name="textName" type="string">
<column name="textName" sql-type="varchar(50)"/>
</property>
<property name="textDate" type="date">
<column name="textDate" length="50"/>
</property>
<property name="textRemark" type="string">
<column name="textRemark" sql-type="varchar(500)"/>
</property>
</class>
</hibernate-mapping>
* 创建连接数据库的hibernate配置文件,hibernate.cfg.xml文件,放置到src目录下
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/itcast1222elec</property>
<property name="hibernate.connection.autocommit">true</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.show_sql">true</property>
<mapping resource="cn/itcast/elec/domain/ElecText.hbm.xml"/>
</session-factory>
</hibernate-configuration>
3、DAO层的搭建
* 在cn.itcast.elec.dao目录下,创建ICommonDao的接口
public interface ICommonDao<T> {
public void save(T entity);
}
* 在cn.itcast.elec.dao目录下,创建对ICommonDao的接口的实现类CommonDaoImpl
public class CommonDaoImpl<T> extends HibernateDaoSupport implements ICommonDao<T> {
public void save(T entity) {
this.getHibernateTemplate().save(entity);
}
@Resource(name="sessionFactory")
public final void setSessionFactoryDi(SessionFactory sessionFactory) {
super.setSessionFactory(sessionFactory);
}
}
* 在cn.itcast.elec.dao.impl目录下,创建IelecTextDao的接口
public interface IElecTextDao extends ICommonDao<ElecText> {
public final static String SERVICE_NAME = "cn.itcast.elec.dao.impl.ElecTextDaoImpl";
}
* 在cn.itcast.elec.dao.impl目录下,创建IelecTextDao接口的实现类ElecTextDaoImpl
@Repository(IElecTextDao.SERVICE_NAME)
public class ElecTextDaoImpl extends CommonDaoImpl<ElecText> implements IElecTextDao {
}
* 配置spring的配置文件beans.xml文件
<!-- 1:配置注解的自动扫描的范围 -->
<context:component-scan base-package="cn.itcast.elec"></context:component-scan>
<!-- 2:配置数据源 -->
<!-- 3:创建sessionFactory,这是spring整合hibernate的入口 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>
classpath:hibernate.cfg.xml
</value>
</property>
</bean>
<!-- 4:创建事务管理器 -->
<bean id="txManage" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 5:以注解的形式管理事务 -->
<tx:annotation-driven transaction-manager="txManage"/>
</beans>
4、建立Service层
* 在cn.itcast.elec.service目录下,创建IElecTextService的接口
public interface IElecTextService {
public final static String SERVICE_NAME = "cn.itcast.elec.service.impl.ElecTextServiceImpl";
public void saveElecText(ElecText elecText);
}
* 在cn.itcast.elec.service.impl目录下,创建IElecTextService接口的实现类ElecTextServiceImpl
@Transactional(readOnly=true)
@Service(IElecTextService.SERVICE_NAME)
public class ElecTextServiceImpl implements IElecTextService {
@Resource(name=IElecTextDao.SERVICE_NAME)
private IElecTextDao elecTextDao;
@Transactional(isolation=Isolation.DEFAULT,propagation=Propagation.REQUIRED,readOnly=false)
public void saveElecText(ElecText elecText){
elecTextDao.save(elecText);
}
}
5、建立控制(Action)层
* 导入系统需要的css、script、images的包
以及需要的jsp的包menu(系统登录、首页显示的jsp页面)、system(系统管理中的功能页面)
* 在cn.itcast.elec.web.action创建ElecTextAction
@SuppressWarnings("serial")
public class ElecTextAction extends BaseAction implements ModelDriven<ElecTextForm>{
private IElecTextService elecTextService = (IElecTextService)ServiceProvider.getService(IElecTextService.SERVICE_NAME);
private ElecTextForm elecTextForm = new ElecTextForm();
public ElecTextForm getModel() {
return elecTextForm;
}
public String save(){
ElecText elecText = new ElecText();
elecText.setTextName(elecTextForm.getTextName());//测试名称
elecText.setTextDate(StringHelper.stringConvertDate(elecTextForm.getTextDate()));//测试日期
elecText.setTextRemark(elecTextForm.getTextRemark());//测试备注
elecTextService.saveElecText(elecText);
return "save";
}
}
* 在cn.itcast.elec.web.form创建ElecTextForm(值对象)
public class ElecTextForm implements java.io.Serializable {
private String textID;
private String textName;
private String textDate;
private String textRemark;
}
* 在cn.itcast.elec.web.action创建BaseAction类
@SuppressWarnings("serial")
public class BaseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware {
@SuppressWarnings("unused")
protected HttpServletRequest request = null;
@SuppressWarnings("unused")
protected HttpServletResponse response = null;
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
}
* 自定义spring的容器
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
网上购物系统 jsp+mysql Struts2+Spring+Hibernate (478个子文件)
GoodsServiceImpl.class 7KB
CommonDaoImpl.class 6KB
UserServiceImpl.class 6KB
Category1ServiceImpl.class 6KB
TradeServiceImpl.class 5KB
ShopTradeAction.class 5KB
ShopGoodsAction.class 4KB
ManageGoodsAction.class 4KB
ManageUserAction.class 3KB
ContactsServiceImpl.class 3KB
ShopUserAction.class 3KB
PageInfo.class 3KB
GoodsForm.class 3KB
UserDaoImpl.class 3KB
ShopContactsAction.class 3KB
ShopMenuAction.class 3KB
TradeDaoImpl.class 3KB
DBHelper.class 3KB
CheckGoodsNum.class 3KB
TestService.class 2KB
LogonUtils.class 2KB
UserForm.class 2KB
TestDao.class 2KB
Goods.class 2KB
TradeForm.class 2KB
CommonDaoImpl$2.class 2KB
User.class 2KB
Contacts.class 1KB
TestHibernate.class 1KB
PageBean.class 1KB
CommonDaoImpl$1.class 1KB
AuthorityInterceptor.class 1KB
ServiceProvider.class 1KB
Trade.class 1KB
ManageCategoryAction.class 1KB
BaseAction.class 1KB
BaseAction.class 1KB
TradeItem.class 1KB
ICommonDao.class 1KB
CategoryForm.class 1KB
ICategory1Service.class 1KB
IUserService.class 1KB
IGoodsService.class 1KB
Category1.class 1004B
ITradeService.class 909B
StringHelper.class 786B
GenericSuperClass.class 746B
TradeItemDaoImpl.class 663B
Category1DaoImpl.class 663B
ContactsDaoImpl.class 656B
IContactsService.class 636B
GoodsDaoImpl.class 635B
ServiceProviderCord.class 625B
ITradeDao.class 539B
IUserDao.class 453B
ICategory1Dao.class 389B
ITradeItemDao.class 389B
IContactsDao.class 385B
IGoodsDao.class 373B
.classpath 529B
org.eclipse.wst.common.component 471B
org.eclipse.wst.jsdt.ui.superType.container 49B
project.css 100KB
fox.css 7KB
style.css 6KB
style.css 6KB
skin.css 4KB
Font.css 4KB
login.css 3KB
MainPage.css 2KB
buttonstyle.css 727B
ie6.css 218B
ie6.css 218B
login-content-bg.gif 20KB
login-wel.gif 9KB
logo.gif 7KB
loginbg.gif 5KB
menu_bg2.gif 4KB
servicezhgb2312.gif 3KB
buttom-right.gif 2KB
logo.gif 2KB
logo.gif 2KB
ershou_1.gif 2KB
ershou_2.gif 2KB
menu_bgs.gif 2KB
title.gif 2KB
sitebackup.gif 2KB
icobt2.gif 2KB
DefaultDocs.gif 2KB
menu_bg.gif 2KB
tool-down-pic.gif 2KB
buttom-left.gif 2KB
butt_balance.gif 2KB
mime.gif 2KB
password.gif 2KB
ad.gif 2KB
lminfo.gif 2KB
sel1.gif 2KB
defind.gif 2KB
ipsecurity.gif 2KB
共 478 条
- 1
- 2
- 3
- 4
- 5
羅_子非鱼
- 粉丝: 4
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页