struts2框架和springmvc框架差不多,spring与struts2整合并不难,spring struts2整合需要做如下操作:
1:创建struts2项目,引入struts2与spring的整合jar包,ssh框架整合jar包如下:http://www.tpyyes.com/a/javaweb/2016/1006/20.html。
2:在web.xml文件中定义ContextLoaderListener监听器,用于监听spring项目的启动。
3:在struts.xml文件中定义struts2的bean action,用于转发页面。
4:在applicationContext.xm文件中配置数据库连接信息,事务等,本案例只用来注入数据
5:在action中书写页面跳转,传参等,例如本案例做login登录跳转。
本spring struts2整合案例中涉及到如下这几个文件:
index.jsp
web.xml
struts.xml
applicationContext.xml
Login.java
welcome.jsp
步骤一:在index.jsp页面中写一个login登录框,使用了struts2的标签,代码如下。
<%@ taglib uri="/struts-tags" prefix="s"%> <s:form action="login"> <s:textfield name="userName" label="UserName"></s:textfield> <s:submit></s:submit> </s:form>
步骤二:在web.xml文件中配置spring ContextLoaderListener监听器,以及url-pattern等。
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
步骤三:配置struts.xml,在action里面配置页面的跳转,访问login就会跳转到welcom.jsp页面,代码如下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="userLogin" extends="struts-default"> <action name="login" class="com.tpyyes.login"> <result name="success">welcome.jsp</result> </action> </package> </struts>
步骤四:在login.java中实现action跳转,默认执行的是该类的execute()方法,根据返回的“success”字符串跳转到welcom.jsp页面,代码如下。
package com.tpyyes;
public class Login {
private String userName,message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
//默认执行该方法
public String execute(){
return "success";
}
}步骤五:在applicationContext.xml文件中set注入message属性值,代码如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="login" class="com.tpyyes.Login"> <property name="message" value="Welcome Spring"></property> </bean> </beans>
步骤六:在welcome.jsp登录结果界面中输出登录用户名和欢迎信息,代码如下:
<%@ taglib uri="/struts-tags" prefix="s"%>
Welcome, <s:property value="userName"/><br/>
${message}当我们访问自己项目的时候,点击submit登录,则会跳转到welcome界面,index.jsp默认可以不用写,如图:

登录成功之后的输出结果:
