java

位置:IT落伍者 >> java >> 浏览文章

Spring 和struts 整合的三种方式[2]


发布日期:2023年02月27日
 
Spring 和struts 整合的三种方式[2]

sturtsconfigxml 中 <controller processorClass=orgspringframeworkwebstrutsDelegatingRequestProcessor/> 通过 <controller >来替代orgapachestrutsactionRequestProcessor 的请求处理

public class LoginAction extends Action {

//利用spring来注入这个对象

private LoginDao dao ;

public void setDao(LoginDao dao) {

Systemoutprintln(执行注入);

thisdao = dao;

}

public LoginDao getDao() {

return dao;

}

public ActionForward execute(ActionMapping mapping ActionForm form

HttpServletRequest request HttpServletResponse response) {

LoginForm loginForm = (LoginForm) form;// TODO Autogenerated method stub

//这样一改这行代码似乎没有必要了

//WebApplicationContext ctx = thisgetWebApplicationContext();

//LoginDao dao = (LoginDao) ctxgetBean(loginDao);

User u = new User();

usetName(loginFormgetName());

usetPwd(loginFormgetPwd());

//直接用dao来调用spring会将这个对象实例化

if(daocheckLogin(u)){

return mappingfindForward(success);

}else{

return mappingfindForward(error);

}

}

}

这里的

LoginAction extends Action 说明 struts 每有和spring 耦合

看一下applicationContextxml 中的配置

<beans>

<bean id=loginDao class=comcaodaoLoginDao/>

<bean name=/login class=comcaostrutsactionLoginAction>

<property name=dao>

<ref local=loginDao/>

</property>

</bean>

</beans>

这里 name=/login 与struts 中的path匹配class=comcaostrutsactionLoginAction 与struts 中的type匹配

还要为 LoginAction 提供必要的setXXX方法 获得ApplicationCotext和依赖注入的工作都在DelegatingRequestProcessor中完成

[] [] []

               

上一篇:Spring 和struts 整合的三种方式[3]

下一篇:Spring 和struts 整合的三种方式[1]