简单OA项目笔记(1):MyEclipse添加SSH支持



打这篇起,之前JSP和SSH基础的部分就算结了,开始弄弄真实的项目,从项目里积累点儿经验。

手头有几个项目,先用个简单的OA框架开始,争取学几个项目以后,把能把之前写出来的代码从玩具历练到产品级别。



一:用MyEclipse添加SSH支持

之前都是手动添加SSH的jar包,这回用MyEclipse自动添加



hibernate3.2

1.hibernate不指定JDBC连接,
2.不要sessionFactory


spring 2.0

1.加前4个,加Web库、j2ee库
2.去掉AOP Builder
3.xml位置改成WebRoot/WEB-INF
4.创建spring sessionFactory
5.要hibernate annotation支持

struts 2.0

1.struts2-core
2.struts-spring-pugin

3.把struts.xml配置在src文件夹下


web.xml

1.struts的filter和filter-mapping
2.spring的listener

3.OpenSessionInViewFilter


配置好之后,网上传说有个asm.jar的冲突,我Myeclipse版本是10,没有遇到

但是antlr-2.7.2.jar要从struts中删掉, 如果调试过了 还要从tomcat中删掉 ..因为Struts自带的antlr-2.7.2.jar,比Hibernate3.3自带的antlr-2.7.6.jar的版本要低

具体操作是:
Window->Preferences->MyEclipse->Project Capabilities->然后选中Struts或Hibernate 找到antlr-2.7.2就Remove就好了


二:配置文件

1.Hibernate

Hibernate我还是用Annotation顺手,而且表单多的情况下也是Annotation比较快

然后用packagesToScan去自动查找实体

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
	<property name="dataSource" ref="dataSource"></property>
	<property name="hibernateProperties">
		<props>
			<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
			<prop key="hibernate.show_sql">true</prop>
			<prop key="hibernate.hbm2ddl.auto">update</prop>
		</props>
	</property>
	<!-- 搜索带Annotation的实体 -->
	<property name="packagesToScan">
			<list>
				<value>com.test.bean</value>
				<!--<value>com.rt.sidemo....</value> -->
			</list>
	</property>
</bean>


2.struts.xml

这个项目里是:每个操作都对应一个action,这样容易管理,也容易使用校验框架,具体action一会儿再细分析

在action跳转上,他用了好几个 type="redirect",这样能解决我之前写的代码中:删除时候可能重复提交的问题,这个一会儿单拿出一篇文章分析

<struts>
	<package name="user" extends="struts-default">
		
		<action name="saveUser" class="saveUserAction">
			<result name="success" type="redirect">listUser.action</result>
			<result name="input">/save.jsp</result>
		</action>

struts先加载struts-plugin后加载struts.xml
多个struts-plugin.xml加载顺序不固定,所以不能互相依赖



3.applicationContext.xml

值得学习和注意的地方是:scope="prototype"

默认spring创建的bean是singleton,在多个操作并发时候会出错的

而且校验时候,如果是默认也就是singleton,校验框架页会报错,校验也一会儿另起一篇文章分析

<bean id="saveUserAction" class="com.test.action.user.SaveUserAction" scope="prototype">
	<property name="service" ref="userService"></property>
</bean>

spring视图可以用图形打开,看得更清楚些



三:文件组织结构


1.action中再细分各个包,这样不至于把验证文件都堆在一堆

2. X.dao和 X.dao.impl分开

3. X.service 和 X.service.impl分开











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值