2007-07-23
参考appfuse学习实例
关键字: ssh工作两年了。最近回顾了一下自己当初学习时,制作的demo(struts+hibernate+spring)。仅供学习的时候参考。
总结以下几点:
1。sevlet
xml 代码
- <servlet>
- <servlet-name>actionservlet-name>
- <servlet-class>
- org.apache.struts.action.ActionServlet
- servlet-class>
- <init-param>
- <param-name>configparam-name>
- <param-value>/WEB-INF/struts-config.xmlparam-value>
- init-param>
- <init-param>
- <param-name>debugparam-name>
- <param-value>3param-value>
- init-param>
- <init-param>
- <param-name>detailparam-name>
- <param-value>3param-value>
- init-param>
- <load-on-startup>0load-on-startup>
- servlet>
2。plugs
xml 代码
- <plug-in
- className="org.springframework.web.struts.ContextLoaderPlugIn">
- <set-property property="contextConfigLocation"
- value="/WEB-INF/applicationContext.xml,
- /WEB-INF/action-servlet.xml" />
- plug-in>
3.action
xml 代码
- <action attribute="userForm" input="/userList.jsp"
- name="userForm" path="/userManager" scope="request" validate="false"
- type="org.springframework.web.struts.DelegatingActionProxy"
- parameter="method">
- <forward name="list" path="/userList.jsp" />
- <forward name="edit" path="/userForm.jsp" />
- action>
4.bean
xml 代码
- <bean name="/userManager" class="com.melet.web.UserAction" singleton="false">
- <property name="userManager"><ref bean="userManagerServiceProxy"/>property>
- bean>
注:bean 的name 名称与 action的path 名称一致。见标红字体。以便通过spring中的bean委派给struts。
或不使用type的方式。但要对每个action进行相应的注入。如:
5。注入
java 代码
- @Override
- public void setServlet(ActionServlet actionServlet) {
- super.setServlet(actionServlet);
- ServletContext servletContext = actionServlet.getServletContext();
- WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
- this.userManager = (UserService)wac.getBean("userManager");
- this.documentManager = (DocumentService)wac.getBean("documentManager");
- }







评论排行榜