为了简单起见,文中只是讲操作过程,不讲原理,请大家理解. (1)新建一个web项目 加入spring-2.0.jar,struts2-core-2.0.11.jar,struts2-spring-plugin-2.0.11.jar,xwork-2.0.4.jar,freemarker-2.3.8.jar,commons-logging-1.0.4.jar,ognl-2.6.11.jar等jar包 (2)修改WEB-INF/web.xml文件了,内容为:
<?
xml version="1.0" encoding="UTF-8"
?>
< web-app version ="2.4" xmlns ="http://java.sun.com/xml/ns/j2ee" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" > < display-name > Struts 2 IoC Demo </ display-name > < filter > < filter-name > struts-cleanup </ filter-name > < filter-class > org.apache.struts2.dispatcher.ActionContextCleanUp </ filter-class > </ filter > < filter > < filter-name > struts2 </ filter-name > < filter-class > org.apache.struts2.dispatcher.FilterDispatcher </ filter-class > </ filter > < filter-mapping > < filter-name > struts-cleanup </ filter-name > < url-pattern > /* </ url-pattern > </ filter-mapping > < filter-mapping > < filter-name > struts2 </ filter-name > < url-pattern > /* </ url-pattern > </ filter-mapping > < listener > < listener-class > org.springframework.web.context.ContextLoaderListener </ listener-class > </ listener > < welcome-file-list > < welcome-file > index.html </ welcome-file > </ welcome-file-list > </ web-app > 清单1 WEB-INF/web.xml 较纯struts2程序多了两项: 1:加入Spring的ContextLoaderListener监听器,方便Spring与Web容器交互 2:struts-cleanup让程序知道在正确的时候清除请求(servletContext)而不是立即清除,方便在程序中取得servletContext (3)在Struts.properties中加入以下项: struts.objectFactory = spring 告知Struts 2运行时使用Spring来创建对象(如Action等). (4)创建接口ChatService package ss; 再创建一个默认实现ChatServiceImpl package ss; 下来,就该新建Action了。tutorial.ChatAction.java的代码如下:
package
ss;
import java.util.Set; import com.opensymphony.xwork2.ActionSupport; public class ChatAction extends ActionSupport { private static final long serialVersionUID = 8445871212065L ; private ChatService chatService; private Set < String > userNames; public void setChatService(ChatService chatService) { this .chatService = chatService; } public Set < String > getUserNames() { return userNames; } @Override public String execute() { userNames = chatService.getUserNames(); return SUCCESS; } } 然后,配置Spring的applicationContext.xml(位于WEB-INF下)文件,内容如下: <?xml version="1.0" encoding="UTF-8"?> 述代码有二点值得大家注意的:
接下来,在classes/struts.xml中配置Action,内容如下 <!DOCTYPE struts PUBLIC 最后,让我们看看/UserList.jsp,内容如下: <%@ page language="java" contentType="text/html; charset=ISO-8859-1" 源程序下载地址:stutsspring@163.com 用户名:stutsspring 密码;admin123 |
struts2与spring的整合示例
最新推荐文章于 2024-09-18 08:43:02 发布