您的位置:首页 > 编程语言 > Java开发

Struts2和Spring整合

2011-06-30 10:31 176 查看
Struts2和Spring整合,创建一个OA工程
1、整合struts2
1)导入strut2的jar包:commons-logging-1.0.4.jar,freemarker-2.3.8.jar,ognl-2.6.11.jar,struts2-core-2.0.12.jar,xwork-2.06.jar。暂时导入这些jar包,到时候需要再倒入。
2)将struts.xml文件放置在OA工程的src目录下。
3)在web.xml里面配置struts2用到的核心过滤器。

Xml代码



<filter>

<filter-name>struts2</filter-name>

<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

</filter>

<filter-mapping>

<filter-name>struts2</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

2、整合spring
1)导入spring的jar包:spring.jar
2)将applicationContext.xml文件放置在OA工程的WEB-INF目录下。
3)在web.xml里面配置spring用到的监听器。

Xml代码



<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

4)添加struts2-spring整合的插件:struts2-spring-plugin-2.0.12.jar,如果不使用这个插件,则需要在struts.xml里面配置:

Xml代码



<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />

3、测试struts2和spring整合对不对?
写一个jsp页面login.jsp来测试:

Html代码



<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<s:form action="Login" method="post">

<s:textfield name="userName" label="userName"></s:textfield>

<s:password name="password" label="password"></s:password>

<s:submit label="submit"></s:submit>

</s:form>

</body>

</html>

写一个LoginAction

Java代码



package com.struts2.action;

import com.opensymphony.xwork2.ActionSupport;

import com.struts2.service.LoginService;

public class LoginAction extends ActionSupport {

private LoginService loginService;

private String userName;

private String password;

public void setLoginService(LoginService loginService) {

this.loginService = loginService;

}

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

@Override

public String execute() throws Exception {

if(loginService.isLogin(userName, password))

return SUCCESS;

else

return INPUT;

}

}

写一个Service

Java代码



package com.struts2.service;

public interface LoginService {

boolean isLogin(String userName,String password);

}

写一个Service的实现

Java代码



package com.struts2.service.impl;

import com.struts2.service.LoginService;

public class LoginServiceImpl implements LoginService {

public boolean isLogin(String userName, String password) {

if("hello".equals(userName) && "world".equals(password))

return true;

else

return false;

}

}

在struts.xml里面配置:

Xml代码



<package name="struts2" extends="struts-default">

<action name="Login" class="loginAction">

<result name="success">/result.jsp</result>

<result name="input">/login.jsp</result>

</action>

</package>

在applicationContext.xml里面配置:

Xml代码



<bean id="loginService" class="com.struts2.service.impl.LoginServiceImpl"></bean>

<bean id="loginAction" class="com.struts2.action.LoginAction" scope="prototype">

<property name="loginService" ref="loginService"></property>

</bean>

启动tomcat,分别输入hello和world,提交,结果为hello和world。说明struts2和spring整合成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: