1、Spring集成Struts实例:假设用户对Struts了解,这里就横刀切入:
项目结构图如下:
![](/upload/picture/pic/26649/935e3ec5-0a88-32dd-9409-d438196f3b2c.jpg )
Ⅰ、新建实体类User.class
![](/upload/picture/pic/26651/7cf0f6fe-e08e-30d1-b031-29822741acae.jpg )
Ⅱ、新建UserService接口,它只有两个方法:
![](/upload/picture/pic/26653/f8a24749-88f4-3b5b-977b-9a1b99032dc0.jpg )
Ⅲ、UserServiceImpl.class实现UserService接口并在Map里添加用户信息:
![](/upload/picture/pic/26655/fa9d33bc-a41e-356d-b730-4c0c7b99d950.jpg )
Ⅳ、首先设计一个BaseAction,其中定义了获得业务逻辑接口的方法,其它所有的Action从BaseAction派生即可非常方便调用业务逻辑接口。而其为Spring的ActionSupport。 ![](/upload/picture/pic/26659/3e135938-8c16-3a76-a820-2d3663ed8be0.jpg )
Ⅴ、新建LoginAction.class.它派生自BaseAaction。
![](/upload/picture/pic/26661/85cab033-5bdb-39c4-93e1-dedba9696034.jpg )
Ⅵ、新建LoginForm.calss。并验证用户登录信息。
![](/upload/picture/pic/26663/dbf65e6f-b0b3-3d08-bd7d-5e5d9eacad38.jpg )
Ⅶ、编写用户登录的的Action,LogoutAction.class
![](/upload/picture/pic/26665/96f0ca8c-1957-3c12-b9d4-650ba04d6f8a.jpg )
Ⅷ、编写页面所需资源文件MessageResources.properties
![](/upload/picture/pic/26667/6590ca99-ad63-3310-bb0c-ebaa0037aaf6.jpg )
Ⅸ、编写Spring配置文件action-service.xml
![](/upload/picture/pic/26669/6c38c61a-9595-3a87-9eba-0f511d95cabe.jpg )
Ⅹ、配置struts-config.xml,添加Spring的插件声明
![](/upload/picture/pic/26671/066b6d3c-f8e8-31e6-a86d-f97c1c06cada.jpg )
Ⅺ、配置web.xml文件
![](/upload/picture/pic/26673/abf8a8a4-45b3-3d5f-af5a-1a90d8261b19.jpg )
Ⅻ、最后所需要测试的login.jsp和hello.jsp页面
![](/upload/picture/pic/26675/e6c7b3be-6722-3f78-8273-c6197008fdac.jpg )
![](/upload/picture/pic/26677/670fdc28-9ad4-3202-aff7-339a9b53b118.jpg )
2 Spring与JSF集成,这里使用的JSF是1.1。
Ⅰ、业务逻辑接口Service定义了一个subscriber方法
![](/upload/picture/pic/26681/d82f1ef1-d88c-30ee-87ad-1971b29a0eee.jpg )
Ⅱ、其实现类仅简单地打印出用户的订阅信息![](/upload/picture/pic/26683/f81a0ead-a33c-3806-b8e5-5c62623f7e04.jpg )
Ⅲ、SubscriberBean是一个与前端UI在绑定的Session范围内的Managed-Bean,其作用范围是Session,在SubscriberBean中还定义了submit()方法来处理JSF的Action,因此在SubscriberBean中必须注入一个Service对象,才能完成实际业务的调用。
![](/upload/picture/pic/26685/5d2a579e-48fa-3e74-8a28-8fcb321c0f86.jpg )
Ⅳ、EamilValidator是一个自定义的JSF验证器
![](/upload/picture/pic/26687/d4976324-af1a-3b13-a521-04b1be2cfbdf.jpg )
Ⅴ、配置web.xml,通过声明Spring提供的ContextLoaderListener来启动Spring容器,注意:该Listener应当在其它Listener之前定义,以保证Spring容器首先被启动。
![](/upload/picture/pic/26689/dc1ec499-e103-37fe-adca-908b4b1aaa57.jpg )
Ⅶ、Spring集成JSF,关键在在于声明Spring提供的一个DelegatingVariableResolver
![](/upload/picture/pic/26691/25693d47-48af-332c-8823-aea21fef23ad.jpg )
![](/upload/picture/pic/26693/d38855a2-3d32-3e7a-ad54-d7a9ad9979d8.jpg )
Ⅷ、在Spring的applicationContext.xml定义Service Bean。
![](/upload/picture/pic/26695/ee3391b8-baa2-3069-aa14-fccf62221076.jpg )
Ⅸ、index.jsp负责接受用户输入验证表单。
![](/upload/picture/pic/26697/8109cf9a-fbbb-38e8-b442-0e362c38f18a.jpg )
Ⅹ、thanks.jsp用于提示用户订阅成功。
![](/upload/picture/pic/26699/d4761eab-3ee6-3a99-8508-17da0d7d913f.jpg )
分享到:
相关推荐
此软件介绍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框架也很有借鉴意义。 对于企业实际使用...