SSH集成
Struts和Spring的集成, 配置文件比较麻烦, 这里采用插件形式
步骤:
一、 新建工程: 为工程添加Spring和Struts支持, 添加Spring时,应该注意将几个勾打上AOP , WEB
二、新建DAO类, 接口(如BaseDao 接口和它的实现类 UserDao)
public interface BaseDao { public String queryUser(); } public class UserDao implements BaseDao { public String queryUser(){ System.out.println("调用真实DAO的方法"); return "我是真的逗你玩"; } } |
三、写Struts中的Action(使用setter方法注入)
public class HelloAction extends Action{ private BaseDao base;//使用接口标识类型 public BaseDao getBase() { return base; } public void setBase(BaseDao base) { this.base = base; } public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { String name=request.getParameter("userName"); System.out.println(name); String str = base.queryUser(); return mapping.findForward("success"); } } |
四、配置struts-config.xml文件
<action-mappings> <action path="/queryuser" type="org.springframework.web.struts.DelegatingActionProxy"> <forward name="success" path="/main.jsp"></forward> </action> </action-mappings> <!—以插件的形式装载struts--> <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/> </plug-in> |
五、配置applicationContext.xml文件, 使用它将对象注入到Action中
<bean id="userdao" class="com.doin.struts.dao.UserDao" /> //此处名称要和action中的path属性值相同 <bean name="/queryuser" class="com.doin.struts.action.HelloAction"> <property name="base" ref="userdao"></property> </bean> |
需要更改的地方:
在structs-config.xml文件的
action配置中 type=”org.springframework.web.struts.DelegatingActionProxy”
另外以插件的形式集成到spring
<plug-in className=”org.springframework.web.struts.ContextLoaderPlugIn”>
<set-property
property=”contextConfigLocation”
value=”/WEB-INF/classes/applicationContext.xml”>spring配置文件路径
</plug-in>
然后在applicationContext.xml文件中
配置实现类对象,以及Action
<bean id=”baseDao” class=””/>
<bean name=”此值为你在Action中配置的path值”>