以前使用的最多的就是Structs,对Spring,Hibernate的没涉及到过,最近做了一个用户登录的小案例,将SSH整合到一起,原先要使用Ajax来处理前台的信息传递,后来时间紧迫就没用,后期改进再发博。自己总结了下SSH的整合步骤,以及在开发案例中遇到的一些情况。
一:如何整合SSH
整合SSH主要是利用配置文件来完成,这部分整合步骤在我下篇转载的SSH整合
《SSH整合步骤》
二:在开发案例中遇到的问题
在将Action整合到Spring时出现了一个问题就是Action总是显示无法实例化,页面总是弹出:
Unable to instantiate Action的错误,查找资料发现有三种可能
1.就是拼写的错误,这个要靠自己仔细的检查
2.配置文件的错误:
开始我的structs.xml文件中的Action
<action name="login" class="com.demo.action.LoginAction">
<exception-mapping exception="java.lang.Exception" result = "error" />
<result name = "success">/admin/index.html</result>
<result name = "error">/admin/error.jsp</result>
</action>
applicationcontext.xml文件中配置:
<bean id="loginAction" class="com.demo.action.LoginAction" scope="prototype">
<property name="userManager" ref="userManager"></property>
</bean>
这里就用错了,既然要将action整合到spring中,就是将action交给了spring的控制器,action中的class应该对应applicationcontext.xml中bean id="loginAction",也就是说要将class="com.demo.action.LoginAction" 换成class="loginAction",action中的class对应bean中的id
3.这种错误对于我们这些初学者很难发现
我在LoginAction中写来这样两句
HttpServletResponse response = ServletActionContext.getResponse();
HttpServletRequest request = ServletActionContext.getRequest();
了解webwork中ServletDispatcher原理的人可能知道原因了, 因为ServletDispatcher接受客户端的HTTP请求,将JavaServlet的很多相关对象进行包装,再传给我们的XWork框架,由我们的XWork 框架去解析我们的xwork.xml配置文件,根据配置文件的信息,创建对应的Action,组装并调用相应的拦截器,执行Action,返回执行结果。
因此每次客户端的请求都将调用ServletDispatcher 的 service()方法,
该方法执行顺序如下:
1、通过request请求取得action的命名空间
2、根据servlet请求的Path,解析出要调用该请求的Action的名字(actionName)
3、创建Action上下文(extraContext)
4、根据前面获得的namespace、actionName、extraContext,创建一个ActonProxy
5、执行proxy的execute()方法,根据Action执行返回的值去调用执行相应的Result(返回结果处理)的方法。
现在应该能明白,原来是Action对象实例在ActionContext对象实例之前创建的,所有这样取得ActionContext容器对象就有可能会返回null. (这段话引自于:http://blog.csdn.net/icejadelove/article/details/4764399)
解决的方法,我查找了资料在我转载的《structs2中获得request,response,session的几种方法》
相关推荐
这个"ssh整合登录案例"可能是一个关于如何配置和使用SSH进行系统间安全登录的实际操作教程。在这个案例中,我们将深入理解SSH的工作原理、配置过程以及如何优化其安全性。 SSH的主要功能是为命令行接口提供加密的...
这个小案例提供了SSH整合的具体实现,对于项目研发具有很高的实用价值。下面我们将详细探讨SSH整合的关键知识点。 首先,Spring是企业级应用中的核心框架,它负责管理应用的bean(对象)和依赖注入(DI)。在SSH...
Maven整合SSH案例 ************************************************************************************* 注意:运行前请配置Maven环境,和修改config.properties中数据库名称用户和密码,并且修改Tuser中的...
SSH整合在IT行业中通常指的是Spring、Struts和Hibernate这三个开源框架的集成应用。Spring作为核心容器,负责管理对象(依赖注入DI)和事务处理;Struts则是MVC(Model-View-Controller)设计模式的实现,处理用户...
NULL 博文链接:https://wuxiangqian.iteye.com/blog/1292591
这个"ssh整合案例代码"应该提供了一个完整的示例,帮助开发者了解如何在实际项目中将这三个框架协同工作。接下来,我们将深入探讨SSH整合的核心概念、配置以及常见应用场景。 **Spring框架**:Spring是Java企业级...
SSH整合案例有助于理解这些框架如何协同工作,提高开发效率,减少代码冗余。通过这样的整合,开发者可以更专注于业务逻辑,而非底层的技术细节。在实际项目中,SSH整合也是很多大型企业级应用的首选方案,因为它提供...
综上所述,SSH整合实例展示了如何在Java Web项目中有效地整合三大框架,实现用户登录功能,为开发者提供了学习和实践的宝贵资源。通过深入理解SSH框架的工作原理和相互配合,开发者可以更好地应对复杂的企业级开发...
SSH整合案例(myeclipse)搭建,这个案例没有业务代码,就单纯地把SSH的框架平台搭好,你们可以很顺利的在上面开发,而无需花时间搭平台了。懒人装用,测试通过了。如果有什么问题,留言解决,注意给个好评,谢谢。
SSH整合是Java开发中一种常见的Web应用架构模式,它由三个强大的开源框架组成:Struts2、Hibernate和Spring。这个组合被广泛应用于构建复杂、可维护的企业级应用程序。接下来,我们将详细探讨这三个框架以及它们如何...
SSH整合是Java Web开发中的一个常见实践,它指的是Struts 2、Hibernate和Spring这三大框架的集成。这个"SSH整合实例源码"提供了一种实际应用这些框架的方法,帮助开发者理解如何在项目中有效地结合它们。以下是关于...
总的来说,SSH整合CRUD案例结合分页功能的实现是一个实用的学习资源,涵盖了Java Web开发中的基础和进阶内容,对于初学者和有一定经验的开发者都有很高的参考价值。通过实际操作和学习,你可以掌握如何在SSH框架下...
SSH项目整合是软件开发中的一种常见...这个简单的SSH项目整合案例,提供了一个基础的客户信息管理系统,涵盖了CRUD操作。通过学习和实践这个案例,开发者可以深入理解SSH框架间的协同工作原理,提升Java Web开发技能。
简单的案例整合SSH框架的应用,主要熟悉SSH三大框架的使用
这个"SSH整合案例.zip"文件提供了一个已经搭建好的SSH框架的实例,适合个人学习和理解这三大框架如何协同工作。 **Spring框架**是整个应用的中枢,它负责管理对象(也就是Bean)的生命周期和依赖注入。在Spring中,...
SSH整合开发的一个实例,项目中有两张表(学生表与班级表)它们的关系是一对多的关系,项目中的action包是应用的表示层(Struts2)dao包是应用的数据访问层(Hibernate)domain是对应的两个类,由对象来生成关系,...
精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例,__ssh整合完整案例.zip
SSH整合是软件开发中的一种常见技术,特别是在Java企业级应用中。SSH指的是Spring、Struts和Hibernate这三个开源框架的首字母缩写。Spring提供依赖注入和面向切面编程,Struts处理MVC(模型-视图-控制器)架构,而...
SSH整合是Java Web开发中的一个经典组合,涵盖了Struts2、Spring和Hibernate这三个核心框架。SSH的整合旨在提供一个高效、灵活且可扩展的开发环境,使得...SSH整合的案例开发是一个实践学习和掌握这些技术的好方式。
### SSH整合用户登录案例知识点详解 #### 一、整体架构介绍 在软件开发过程中,合理的架构设计对于提高软件质量和维护性至关重要。SSH架构是Java Web开发中常用的三层架构模式之一,这里的SSH指的是Struts2(S)、...