1、Spring集成Struts实例:假设用户对Struts了解,这里就横刀切入:
项目结构图如下:

Ⅰ、新建实体类User.class

Ⅱ、新建UserService接口,它只有两个方法:

Ⅲ、UserServiceImpl.class实现UserService接口并在Map里添加用户信息:

Ⅳ、首先设计一个BaseAction,其中定义了获得业务逻辑接口的方法,其它所有的Action从BaseAction派生即可非常方便调用业务逻辑接口。而其为Spring的ActionSupport。 
Ⅴ、新建LoginAction.class.它派生自BaseAaction。

Ⅵ、新建LoginForm.calss。并验证用户登录信息。

Ⅶ、编写用户登录的的Action,LogoutAction.class

Ⅷ、编写页面所需资源文件MessageResources.properties

Ⅸ、编写Spring配置文件action-service.xml

Ⅹ、配置struts-config.xml,添加Spring的插件声明

Ⅺ、配置web.xml文件

Ⅻ、最后所需要测试的login.jsp和hello.jsp页面


2 Spring与JSF集成,这里使用的JSF是1.1。
Ⅰ、业务逻辑接口Service定义了一个subscriber方法

Ⅱ、其实现类仅简单地打印出用户的订阅信息
Ⅲ、SubscriberBean是一个与前端UI在绑定的Session范围内的Managed-Bean,其作用范围是Session,在SubscriberBean中还定义了submit()方法来处理JSF的Action,因此在SubscriberBean中必须注入一个Service对象,才能完成实际业务的调用。

Ⅳ、EamilValidator是一个自定义的JSF验证器

Ⅴ、配置web.xml,通过声明Spring提供的ContextLoaderListener来启动Spring容器,注意:该Listener应当在其它Listener之前定义,以保证Spring容器首先被启动。

Ⅶ、Spring集成JSF,关键在在于声明Spring提供的一个DelegatingVariableResolver


Ⅷ、在Spring的applicationContext.xml定义Service Bean。

Ⅸ、index.jsp负责接受用户输入验证表单。

Ⅹ、thanks.jsp用于提示用户订阅成功。

分享到:
相关推荐
此软件介绍webwork and struts and jsf的区别
第10章 Struts 2的标签库,第11章 Struts 2的Ajax支持,第12章 使用FreeMarker充当表现层,第13章 整合Spring,第14章 整合JSF,第15章 整合SiteMesh,第16章 整合JasperReports,第17章 整合JFreeChart,第18章 ...
10. **扩展与整合**:讨论WebWork2与其他技术的集成,如Spring框架、JSF、Struts或AJAX,以及如何扩展WebWork2以满足特定需求。 文档"webwork2doc_zh1[1].0a.pdf"很可能包含了以上所有内容的详细讲解,对于学习和...
5. Struts与Spring的区别:Struts1基于JSP和Servlet,Struts2基于Webwork,两者都是MVC框架但技术栈不同。 6. Spring的核心特性:IOC和AOP,以及它们在应用中的作用。 7. JSF(JavaServer Faces):与Struts类似的...
4. **Comparisonto Struts**:与第一代Struts相比,WebWork/Struts2具有更好的扩展性和灵活性。 5. **Comparisonto Tapestry**:Tapestry更注重于页面的构建,而WebWork更侧重于业务逻辑的处理。 #### 五、版本升级...
知识点十:Struts2集成AJAX AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个页面的情况下,能够更新部分网页的技术。在Struts2中集成AJAX可以极大地提升用户体验。本书介绍了JSON的概念,以及如何...
在Struts2出现的同时,市场上也出现了其他MVC框架,如JSF(JavaServer Faces)、Tapestry和Spring MVC。每个框架都有其独特的设计理念和适用场景: - **JSF**是由Sun Microsystems(现已被Oracle收购)开发的官方...
JSF的竞争对手不是struts/webwork之流,它们基本上已经是不同阶段上的东西了,放在一起比较意义不大。 JSF的开发流程和asp.net中所倡导的code behind方式很相似,核心是事件驱动,组件和标签的封装程度非常高,很多...
3. **社区支持**:随着其他框架如Spring MVC、JSF等的兴起,Struts 1逐渐失去了主流地位,社区的支持力度也相应减弱。 #### 三、Struts 2框架的技术特点 Struts 2框架的出现,正是为了克服Struts 1存在的问题,并...
此外,WebWork与其他知名的Java Web框架,如Spring Web Framework、Struts、Tapestry和JSF等相比,各有其特色和适用场景。例如,Spring框架提供了全面的解决方案,而Struts拥有丰富的资源,Tapestry以其组件化见长,...
16.2 协同使用Spring和WebWork 2/Struts 2 16.3 集成Spring和Tapestry 16.3.1 集成Spring和Tapestry 3 16.3.2 集成Spring和Tapestry 4 16.4 协同使用Spring和JSF 16.4.1 解析JSF管理的属性 16.4.2 解析Spring...
- **与Struts2对比**:Spring MVC的灵活性和可扩展性都很高,特别是在集成Spring其他模块时表现尤为突出。相比之下,Struts2可能在某些方面略显繁琐。 ### Struts2的具体配置 #### 3.1 web.xml配置 ```xml ...
Struts 2 是一个强大的基于模型-视图-控制器(MVC)架构的Java Web框架,它旨在简化创建企业级的...随着技术的不断发展,Struts 2也面临着JSF、Tapestry、Spring MVC等竞争对手的挑战,但其在MVC领域的影响力不容忽视。
- **易于集成第三方库**:Struts2 支持与多种第三方库无缝集成,如 Hibernate 和 Spring,这使得应用程序可以更方便地使用这些库的功能。 - **简化配置**:Struts2 的配置更加简单直观,减少了配置文件的复杂度。 #...
JSF与Struts或WebWork等框架相比,处于不同的发展阶段,它们的设计哲学和目标市场有所不同,因此直接比较并不合适。 JSF采用依赖注入(DI)机制,这是一种解耦合的有效方法,这在很大程度上受到了Spring框架的影响...
目前,基于Web的MVC框架非常多,发展也很快,每隔一段时间就有一个新的MVC框架发布,例如像JSF、Tapestry和Spring MVC等。除了这些有名的MVC框架外,还有一些边缘团队的MVC框架也很有借鉴意义。 对于企业实际使用...