Welcome 微信登录

首页 / 软件开发 / JAVA / struts1和spring整合的方法

struts1和spring整合的方法2014-06-02struts1和spring有两种整合的方法  一种是action和spring bean映射;一种是将action交给 spring初始化

第一种方式:访问.do的URL->tomcat接收到request-〉到Struts配置文件里找对应的action-〉找 到对应的action组件(Action那个类)-〉这个类对request进行一系列处理-〉调用spring提供的某个 service的注入实例的方法->由这个方法返回值-〉响应输出

第二种方式:访问.do的URL->tomcat接收到request-〉到Struts配置文件里找对应的action-〉找 不到对应的action组件(Action那个类)-〉去spring配置文件里找这个Action的映射,找到类-〉这个类 对request进行一系列处理-〉调用spring提供的某个service的注入实例的方法->由这个方法返回值- 〉响应输出

(Struts1很久不用了,也许有差漏)

hibernate和spring的整合比较复杂,建议找人当面讲

粗谈Struts——从执行顺序来看Struts

1.在web.xml中的配置

Struts在web.xml中的配置通常是自动生成的,这里不用赘述。只有一点应该 说一下,那就是为ActionServlet这个servlet配置<load-on-startup>,而且应该让它的数值小一 些,这样能让这个ActionServlet这个系统核心控制器早一点启动。

2.用户的请求

用户提交表单时,表单的action属性通常应以.do结束。当然,如果不写的话,系统 也会默认(添加)以.do结束。以.do结束的原因是因为,在web.xml中我们通常都是配置拦截以.do结束的 请求。

3.定位Action

ActionServlet拦截到用户的请求后,并不自己处理,它委托给 RequestProcessor进行处理。RequestProcessor使用请求URI与struts-config.xml文件中的Action的path 属性进行对比,从而确定由哪个Action来处理这个请求。

4.填充ActionForm

确定下来由哪个Action来处理请求后,系统会去检查Action的name属性。然后,根据name属性的值再在这个文件中去找对应的ActionForm来接受有户提交的表单的内容。在ActionForm中通常有一个方法ActionErrors validate(ActionMapping mapping,HttpServletRequest request)需要重写,该方法是用来检验用户的输入是否合法的。不过,现在Struts已经不在提倡这种验证方法了。

5.对表单的验证

借助于jakarta-oro.jar和commons-validator.jar的支持,Struts的校验功能非常的强大。此种的验证牵涉的内容很多,在此不做细说。如果,校验出错误,则将错误送到Action的input属性指定的页面去处理。

6.Action处理

若校验通过,则Action做一些业务逻辑上的处理,其实Action就是业务逻辑处理器。处理之后,把处理的结果放到request(或Session等)里,然后转发到全局转发所指定的jsp页面或在Action的配置时配置的局部转发所指定的jsp页面里。

7.结果的显示

在jsp页面中对Action处理的结果进行输出显示。