1. 在action中每次都要从spring管理的配置中区获取对象 , 所以考虑把此配置放到web的application中
容器启动就加载,
方法一 .配置如下:
<!-- 配置如下 名字有约定,由spring内部提供 , 也可以自己写一个监听器 -->
在web.xml中配置如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext-*.xml,/WEB-INF/applicationContext-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
3. action中的用法如下:
ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext()) ;
UserDao userDao = (UserDao)ctx.getBean("userDao") ;
方法二:struct中提供了plugin机制 (用的较多)
配置如下:
在struts-config.xml 配置
<!-- 容器一启动后就加载plug-in 以下配置的就是把xml文件读入web的application中 -->
<!--
action的创建工作交由spring来管理, action过来,去actionMapping中查找 , 找到的是一个spring的
代理类 , 读取配置交由DelegatingActionProxy来读取 , 所以程序员根本无需显示去读取配置,因为已经
交由spring注册进去了,自动管理
-->
<action path="/login" type="org.springframework.web.struts.DelegatingActionProxy" name="userActionForm" >
<forward name="success" path="/success.jsp"></forward>
<forward name="fail" path="/fail.jsp"></forward>
</action>
</action-mappings>
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext-*.xml" />
</plug-in>
在spring的application-action.xml中配置
<bean name="/login" class="com.cs.action.LoginAction">
<property name="userDao" ref="userDao" />
</bean>
在action中要取dao 只需将dao注入即可,再也不用显示的用ctx.getBean(“useDao”)了
如:
public class LoginAction extends Action {
private UserDao userDao ;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UserActionForm userActionForm = (UserActionForm)form ;
User user = userDao.login(userActionForm.getUsername(), userActionForm.getPassword()) ;
if (user != null) {
return mapping.findForward("success") ;
}else {
return mapping.findForward("fail") ;
}
}
方法三:和方法2差不多
在web.xml中配置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext-*.xml,/WEB-INF/applicationContext-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
在stucts.config.xml中配置
<action path="/login" type="org.springframework.web.struts.DelegatingActionProxy" name="userActionForm" >
<forward name="success" path="/success.jsp"></forward>
<forward name="fail" path="/fail.jsp"></forward>
</action>
在spring的application-action.xml中配置
<!-- 在此name对应struts配置中的path -->
<bean name="/login" class="com.cs.action.LoginAction" >
<property name="userDao" ref="userDao" />
</bean>
分享到:
相关推荐
Spring in Action CN.001<br>Spring in Action CN.002<br>Spring in Action CN.003<br>Spring in Action CN.004<br>Spring in Action ...Spring in Action CN.BAT<br><br>Spring in Action 中文版的pdf文件较大...
sp页面的form表单里面有一个属性值action,当提交jsp页面上的form表单时,系统会根据action的值来找到servlet里面...但是这并不是在action里面实例化一个业务逻辑的对象,而是通过spring的配置文件来调用业务逻辑层的类
spring管理struts的action的代码 从类路径下加载spring的配置文件, 多个配置文件可以用逗号和空格区分 * classpath: 关键字特指类路径下加载
Spring Security in Action
“……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——Olivier Jolly,J2EE构架师,Interface...
Spring in Action第三版,中文pdf,带书签和书中源码!
“……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——Olivier Jolly,J2EE构架师,Interface...
“……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——Olivier Jolly,J2EE构架师,Interface...
Spring in action Spring in action Spring in action Spring in action Spring in action Spring in action
Spring Microservices in ActionSpring Microservices in ActionSpring Microservices in Action
Spring in Action CN.001<br>Spring in Action CN.002<br>Spring in Action CN.003<br>Spring in Action CN.004<br>Spring in Action ...Spring in Action CN.BAT<br><br>Spring in Action 中文版的pdf文件较大...
“……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——Olivier Jolly,J2EE构架师,Interface SI “我很...
spring in action所需jar包
Spring in Action, 5th Edition is the fully updated revision of Manning's bestselling Spring in Action. This new edition includes all Spring 5.0 updates, along with new examples on reactive programming...
spring in action second edition
“……一种解释Spring中各个主题的很好途径……我喜欢这本书” ——Christian Parker,Adigio公司总裁 “……没有其他书籍可以与这本书的实用性相提并论。” ——Olivier Jolly,J2EE构架师,Interface SI “我很...
spring in action & 精通spring
Spring最突出之处在于它使企业级系统开发变得简单,所以,企业级系统开发人员会更加欣赏《Spring in Action中文版》中的示例代码。《Spring in Action中文版》最后4章描述了Spring是如何为Web层开发提供支持的,如果...
Spring inAction中文清晰版6