Spring学习心得,三大框架终于聚在一起了
关于mvc里的model(模型层)。
没有学Sping以前项目的架构是:用户调用Service的方法 --> Service --> 工厂--> Dao接口-->Dao实现类-->实体对象
学Sping以后项目的架构以后:用户调用Service的代理的Bean对象--> Service的方法 --> Service --> 工厂--> Dao接口-->Dao实现类-->实体对象
关于mvc里的view(表现层)。
以前在没有学习Spring之前,一个请求到服务器,Struts截取浏览器信息,浏览器的信息到前段控制器,前段控制器到Reqiestprosaiser,Reqiestprosaiser到Action,调用Action里的方法(Dao的方法),Dao的信息发送到浏览器,浏览器给用户响应。
学Spring框架以后,变成了:一个请求到浏览器,Struts截取浏览器信息,浏览器的信息到前段控制器,前段控制器到Reqiestprosaiser,Reqiestprosaiser这里不去直接的调用Action,而是调用Acion的代理Bean对象。Bean代理对象再去调用Action里的方法(Dao的方法),Action到服务器,服务器到浏览器,浏览器给用户一个响应。
说到这里必须要提到几个配置文件:applicationContext.xml和strutsContext.xml、struts-config.xml。这里struts-config.xml要注意的type不是以前的Action类而是:org.springframework.web.struts.DelegatingActionProxy,并且path调用的是:struts-config.xml的代理对象。在struts-config.xml这里有几个关键的属性
<bean name=”/给Strut spath的引用Bean对象”class=”Acton类”>
<property name=”Action类的属性” ref=“service的代理Bean对象”/>
……
……
<baen>
……
……
问一一些题
1、 为什么在Web。Xml文件里,配置applicationContext.xml前面要加class
<param-value>
/WEB-INF/classes/applicationContext.xml,/WEB-INF/strutsContext.xml
</param-value>
2、 Web.Xml里的过滤器有什么用?
<filter>
<filter-name>openSessionInView</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
3、 Web.xml里的监听器有什么用?
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>