- 浏览: 332895 次
- 性别:
- 来自: 新加坡
文章分类
最新评论
-
xiuluocd:
ok,受益匪浅
[转贴]System.getProperty()参数大全 -
xiaohuafyle:
这个不能算是bug吧,weblogic用的jdk版本一直都很老 ...
项目积累:Weblogic -
macemers:
请问楼主 has_readed作为计数器,是如何防止网络阻塞的 ...
Socket、Thread的使用记录 -
xutao5641745:
higkoo 写道请教一个问题,我在编译Jmeter的时候,发 ...
[转贴]System.getProperty()参数大全 -
zhaoyu_h:
加油。。。啊。。。加油。。。 谢谢啦。。
[转贴]System.getProperty()参数大全
总算将一个项目勉强上线,也是第一次我独立完成的这么多任务,框架设计、框架搭建、代码编写、测试、数据库创建、表结构设计……除了页面和详细设计我都做了个遍,虽然很仓促也犯了很多错误,但是整个过程走下来,发现自己真的学到不少东西。在这个空档期写个小总结,以便以后使用 :)
现在框架真是多的要死,也没有什么真正能一统天下的东西,每个人的着眼点和技术习惯都不同,在刚接到项目的时候,老大就要我自己去确定框架。当时我正沉迷于TapeStry+Spring+iBatis开发的畅快之中,当时真想直接将自己的东西移植过去,但是一想公司陆续会有其他人进来加入到项目中,那么TSS这个框架肯定很难找到合适的人选,而且自己在研究TSS的过程中也发现由于文档的缺乏,遇到问题的解决就是一个很严重的问题,最终只能弃用。虽然我很喜欢T4,但是它实在不让人放心,只好期待Howard能给我们不断带来惊喜,真正成为继Struts、WebWork之后的最优选择。有时间我还会继续学习T4,并做一下总结。
经过当时的考虑,我只得放弃TSS,最终选择自己相对熟悉的Struts+Spring+Hibernate,说是熟悉,那是因为以前的项目是用这个,有网友戏称SSH是庸俗组合,呵呵,庸俗就庸俗吧,我想自己能把这套东西搞好也会有相当的难度的(现在证明这个选择是对的,出了问题有人问,项目组的其他人也都是玩这套东西的,维护扩展都方便)。
具体细节就不再描绘了,做软件的都知道问题无法解决是多么的折磨人,这其中的酸甜苦辣只有经历过的人才知道,技术上的问题是遇到一个解决一个,实在觉得解决不了或者没有把握,利马换其他想法,这个很重要,实现的方法有很多,即便不是最优的解决方案,但是节省的大量的时间,在工期紧的时候一定要权衡的去考虑,否则后果不堪设想。
总体框架(SSH)需要4个重要的配置文件:
1.web.xml
<!---->DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>sampledisplay-name>
<context-param>
<param-name>contextConfigLocationparam-name>
<param-value>/WEB-INF/applicationContext.xmlparam-value>
context-param>
<!---->
<filter>
<filter-name>OpenSessionInViewFilterfilter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilterfilter-class>
<!---->
<init-param>
<param-name>singleSessionparam-name>
<param-value>trueparam-value>
init-param>
filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilterfilter-name>
<url-pattern>/*url-pattern>
filter-mapping>
<!---->
<filter>
<filter-name>Set Character Encodingfilter-name>
<filter-class>com.shpcims.util.SetCharacterEncodingFilterfilter-class>
<init-param>
<param-name>encodingparam-name>
<param-value>utf-8param-value>
init-param>
filter>
<filter-mapping>
<filter-name>Set Character Encodingfilter-name>
<servlet-name>actionservlet-name>
filter-mapping>
<!---->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
listener>
<servlet>
<servlet-name>actionservlet-name>
<servlet-class>org.apache.struts.action.ActionServletservlet-class>
<init-param>
<param-name>configparam-name>
<param-value>/WEB-INF/struts-config.xmlparam-value>
init-param>
<init-param>
<param-name>debugparam-name>
<param-value>3param-value>
init-param>
<init-param>
<param-name>detailparam-name>
<param-value>3param-value>
init-param>
<load-on-startup>1load-on-startup>
servlet>
<servlet-mapping>
<servlet-name>actionservlet-name>
<url-pattern>*.dourl-pattern>
servlet-mapping>
<welcome-file-list>
<welcome-file>index.jspwelcome-file>
welcome-file-list>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tldtaglib-uri>
<taglib-location>/WEB-INF/struts-bean.tldtaglib-location>
taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tldtaglib-uri>
<taglib-location>/WEB-INF/struts-html.tldtaglib-location>
taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tldtaglib-uri>
<taglib-location>/WEB-INF/struts-logic.tldtaglib-location>
taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tldtaglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tldtaglib-location>
taglib>
<taglib>
<taglib-uri>/WEB-INF/CustomTag.tldtaglib-uri>
<taglib-location>/WEB-INF/tags/CustomTag.tldtaglib-location>
taglib>
web-app>
2.Struts-config.xml
<!---->DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<!---->
<form-beans>
<form-bean name="loginForm" type="com.shpcims.web.login.form.LoginForm" /> form-beans>
<global-forwards>
<forward name="web_report" path="/reporter"/>
<forward name="report_fail" path="/WEB-INF/jsp/SystemError.jsp"/>
global-forwards>
<!---->
<action-mappings>
<action path="/LoginAction"
type="org.springframework.web.struts.DelegatingActionProxy"
scope="request"
name="loginForm"
validate="true"
input="/index.jsp">
<forward name="success" path="/CreditInfoPreAction.do" />
<forward name="fail" path="/index.jsp" />
action>
action-mappings>
<!---->
<controller>
<set-property property="processorClass" value="com.shpcims.framework.CustomerRequestProcessor" />
controller>
<!---->
<message-resources parameter="ApplicationResources" />
<!---->
<!---->
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
<set-property property="definitions-debug" value="2" />
<set-property property="definitions-parser-details" value="2" />
<set-property property="definitions-parser-validate" value="true" />
plug-in>
<!---->
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/beans.xml" />
plug-in>
<!---->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/WEB-INF/validaterule/validator-rules.xml,
/WEB-INF/validaterule/validation.xml
"/>
plug-in>
struts-config>
3.applicationContext.xml
<!---->DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!---->
<bean id="chartService" parent="baseTransactionProxy">
<property name="target">
<bean class="com.shpcims.service.ChartServiceImpl">
bean>
property>
bean>
<!---->
<bean id="customDao" class="com.shpcims.dao.CustomDaoImpl">
<property name="sessionFactory" ref="sessionFactory" />
bean>
<!---->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!---->
<img alt="" align="top" src="http://images.csdn.net/syntaxhighlighting/Outlinin
评论
小月,我越来越佩服你了,先驱啊
啥先驱 先躯还差不多 这么多年都没啥长进 现在用Struts1+iBatis 一用好几年
呃,如果是我可能早就烦了,呵呵
不过如果能深入的了解下页不错啊
小月,我越来越佩服你了,先驱啊
啥先驱 先躯还差不多 这么多年都没啥长进 现在用Struts1+iBatis 一用好几年
小月,我越来越佩服你了,先驱啊
发表评论
-
复杂Struts Validation汇总
2008-11-16 21:57 3141不得不承认我用了太久的Struts1,但实际上并没有太多好的回 ... -
多种问题 一种解决方案:使用ANT管理部署应用服务器
2008-07-12 01:46 3973ANT在Java界和开源世界里面的地位大家都知道,虽然 ... -
Socket、Thread的使用记录
2008-04-03 16:35 2623做了太多时候的Web项目 ... -
项目积累:Weblogic
2007-08-22 17:54 2124新项目中最大的收获就是Weblogic的使用和管理,由于客户的 ... -
项目反思:DetachedCriteria需要吗?不需要吗?
2007-07-09 23:16 2929Hibernate3中提供了DetachedCri ... -
JUnit方案 DetachedCriteria模拟求解
2007-07-04 16:36 1781新项目客户对测试的要求比较严格,要求单元测试的覆盖率为 ... -
Spring 移植到WebLogic10上出现的Log4j.properties错误
2007-06-10 23:31 6187问题是在Tomcat移植到Weblogic10上出现的问题,主 ... -
[转贴]Clustering经典范文学习
2007-05-12 10:37 1875Cluster对于没有去实现的人还是相当神秘的东西,先从基础 ... -
JavaEye活动记实 Gavin King见面会以及Robbin Hibernate性能调优
2007-04-24 00:05 41764月19日,如期赶到交大 ... -
使用Velocity Swing制作的代码生成工具
2007-04-18 13:39 2819一个使用JEE开发的项目中将会存在大量的重复代码,这是每个开发 ... -
J2EE性能提高(Struts+Spring+Hibernate)
2007-04-17 22:33 3430新近的项目是一个BOSS级的计费系统,性能和稳定性的要求比较高 ... -
[转贴]System.getProperty()参数大全
2007-04-17 17:42 45493一直做Web应用一般不会用到这些东西,今天在搞一个代码生成器的 ... -
Spring2学习笔记
2007-04-15 22:33 1906学习和使用Rails正开心 ... -
[原创]Struts Validation框架中验证循环产生的Text框
2006-01-11 14:18 1805前几天做到一个validation验证使用<iterat ... -
[原创]JSP页面通过Form控制Beans属性
2006-01-14 16:29 1480这个问题我曾经在社区提问过,不知是当时没问清楚还是怎样,回答是 ... -
我的乱码问题处理汇总
2006-08-06 22:32 3763乱码对于使用非英语文 ... -
项目总结(Ajax+Struts+Spring+Hiberante+SQLServer2000) 第三部分
2006-08-06 22:56 1518因为本次项目是政府项目,所以数据库服务器采用SQLServer ... -
[讨论]有关Spring+Hibernate更新数据库的操作
2006-09-20 00:05 2820最近老和同事争执一个S ... -
Hibernate事务管理读书笔记(不断添加中)
2006-09-20 12:28 6240昨天发了一个有关Hiberna ... -
[转贴]JDK5下避免DAO代码重复--原文名称:不要重复 DAO
2006-10-08 15:19 1716由于 Java™ 5 泛型的采 ...
相关推荐
spring4+hiberante4+struts2+maven最新框架
本Demo采用Struts2.1.8+Spring2.5.6(Annotation注解)+Hiberante3.3.2(Annotation注解)+ExtJS(Struts2-json)
struts2.0 +spring2.0+hiberante3所需jar包
Struts2+Hiberante+ajax+三级联动,提供完整的JAR包和MYSQL数据库文件
Struts2+hiberante+Spring+Extjs+OA办公系统,完整包正常运行
疯狂Ajax讲义2+Spring+hiberante
疯狂Ajax讲义3+Spring+hiberante
疯狂Ajax讲义4+Spring+hiberante
疯狂Ajax讲义5+Spring+hiberante
关于SSH2框架的项目介绍 里面的数据是MySql的大家自已做一个就可以 欢迎大家来下载!!
这是本人用hibernate+struts2做的一个登录注册的小例子,里面包含分页查询,hiberante的多种技术!
Hibernate3.3.1+Spring2.5.5+Struts2 2.0.1.2例子 Struts2使用了通配符的配置方式进行配置!
详细讲述通过Struts2+hiberante+Spring+ExtJs实现的实例说明,包括S2SH环境搭建和开发的过程,有详细的开发步骤说明,包括通用基类,事务等关键地方的讲解,图文并茂,适合初中级学习者
学习struts2+hiberanate3.5+spring3.0 (annotation)的好项目
j2ee开发的必修知识,比较全面,至于资源好坏我就不自己评论了。
源码+数据库+jsp页面+html页面设计 初学者
新版SSH+DWR配置Struts2.1.8+Spring3.0+Hibernate3.3.2+DWR2.0.6
Struts2 Spring Hiberante IBatis jar (1) 与上面上传的资源是同一的 jar的第一部分
Strust2.0+Spring+hiberante小例子,整合.