`
dawuafang
  • 浏览: 1192006 次
文章分类
社区版块
存档分类
最新评论

《struts2权威指南》学习笔记之struts2整合Spring

 
阅读更多

整合Spring,换句话说,也就是让spring的IOC功能为我们的struts action注入逻辑组件

首先需要加载struts2-spring-plugin-2.0.6.jar这个包,这个是关键,他可以帮我们把struts2和spring仅仅整合在一起

首先是web.xml

<?xmlversion="1.0"encoding="utf-8"?>
<web-appversion="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/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/bean.xml</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<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>

<filter>
<filter-name>aaa</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>


<filter-mapping>
<filter-name>aaa</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


</web-app>

其次是struts2.xml

<?xmlversion="1.0"encoding="GBK"?>
<!DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"
>
<struts>

<packagename="lee"extends="struts-default">
<actionname="login"class="loginAction">
<resultname="error">/error.jsp</result>
<resultname="success">/welcome.jsp</result>
</action>
</package>

</struts>

最关键的是bean.xml,完成为struts2 action的注入

<?xmlversion="1.0"encoding="GBK"?>
<!--定义Spring配置文件的根元素,并指定Schema信息-->
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd">

<beanid="myService"class="lee.MyServiceImpl"/>
<beanid="loginAction"class="lee.LoginAction"scope="prototype">
<propertyname="ms"ref="myService"/>
</bean>
</beans>

LoginAction

packagelee;

importcom.opensymphony.xwork2.Action;

publicclassLoginActionimplementsAction...{

privateStringusername;
privateStringpassword;
privateStringtip;
privateMyServicems;
publicStringgetUsername()...{
returnusername;
}


publicvoidsetUsername(Stringusername)...{
this.username=username;
}


publicStringgetPassword()...{
returnpassword;
}


publicvoidsetPassword(Stringpassword)...{
this.password=password;
}


publicStringgetTip()...{
returntip;
}


publicvoidsetTip(Stringtip)...{
this.tip=tip;
}


publicStringexecute()throwsException...{
if(ms.valid(this.getUsername(),this.getPassword()))...{
returnSUCCESS;
}

else...{
returnERROR;
}

}


publicMyServicegetMs()...{
returnms;
}


publicvoidsetMs(MyServicems)...{
this.ms=ms;
}


}

MyService及实现

packagelee;


publicinterfaceMyService
...{
booleanvalid(Stringusername,Stringpass);
}



packagelee;

publicclassMyServiceImplimplementsMyService
...{
publicbooleanvalid(Stringusername,Stringpass)
...{System.out.println(username);
if(username.equals("")&&pass.equals("1234"))
...{
returntrue;
}

returnfalse;
}

}

struts.properties

struts.i18n.encoding=gb2312

login.jsp


   <%@ page contentType="text/html; charset=gb2312"%>


<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="login.action" method="post">
<table align="center">
<caption><h3>用户登录</h3></caption>
<tr>
<td>用户名:<input type="text" name="username"/></td>
</tr>
<tr>
<td>密&nbsp;&nbsp;码:<input type="text" name="password"/></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="登录"/><input type="reset" value="重填" /></td>
</tr>
</table>
</form>
</body>
</html>

welcome.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>成功页面</title>
</head>
<body>
您已经登录!
<s:property value="username"/>
<s:property value="tip"/>
</body>
</html>

error.jsp

<%@ page language="java" contentType="text/html; charset=GBK"%>
<html>
<head>
<title>错误页面</title>
</head>
<body>
您不能登录!
</body>
</html>

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    学习笔记之struts2整合Spring

    在Java Web开发中,Struts2和Spring的整合是常见的实践,它允许我们利用Spring的Inversion of Control (IoC)容器来管理Struts2 Action的生命周期和依赖注入。这样的整合使得应用程序更易于维护和解耦,同时也方便了...

    struts2四天的学习笔记

    13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...

    张龙圣思园struts2学习笔记word

    张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    SSH整合学习笔记之struts2+spring+hibernate+c3p0源码

    SSH整合是Java Web开发中的一个经典组合,由Struts2、Spring和Hibernate三大框架组成,再加上C3P0作为数据库连接池,形成了高效且灵活的应用架构。本学习笔记将深入探讨这四个组件如何协同工作,构建出强大的企业级...

    struts2框架学习笔记整理

    ### Struts2框架学习笔记整理 #### 一、Struts2框架概述 ##### 1.1 Struts2框架定义 Struts2是一个基于MVC(Model-View-Controller)架构模式的开源Java web应用框架,它能够帮助开发者构建可扩展且易于维护的...

    spring指南学习笔记

    标题和描述均提到了“spring指南学习笔记”,这意味着文档聚焦于Spring框架的学习心得与关键概念。Spring是一个开源的Java企业级应用框架,以其强大的依赖注入(Dependency Injection, DI)和面向切面编程(Aspect ...

    Struts、Spring、Hibernate&Ajax;学习笔记总结

    ### Struts、Spring、Hibernate&Ajax 学习笔记总结 #### Struts 部分 **Struts** 是 Java 开源框架中最早出现且最具影响力的框架之一,它出自 Apache 组织,是 Java Web 应用开发的标准之一。Struts 以 MVC(Model...

    struts2+spring+ibatis整合项目实例

    `Struts+Spring+Ibatis整合框架搭建配置文档.doc`应该详细阐述了如何配置Spring以管理Struts2的Action和iBatis的数据源及SqlSession。 3. **iBatis**:iBatis是一个SQL映射框架,它将SQL语句与Java代码分离,使得...

    struts2教程-学习笔记.zip

    这个"struts2教程-学习笔记.zip"压缩包包含了关于Struts2的基础到高级的学习资源,帮助开发者深入理解并掌握该框架。 首先,"struts2教程.chm"可能是一个包含详细教程的Windows帮助文档,涵盖了Struts2的基础概念,...

    Struts2笔记+Hibernate3.6笔记+Spring3笔记

    SSH是Java开发中广泛使用的三大框架——Struts2、Hibernate和Spring的缩写。这三大框架结合使用,能够构建高效、灵活的企业级Web应用程序。现在,让我们深入探讨这些框架的知识点。 **Struts2笔记** Struts2是MVC...

    Struts1及14. Struts2学习笔记

    本学习笔记将对Struts1和Struts2进行详细解析。 **Struts1简介** Struts1是早期流行的MVC框架,它的核心是ActionServlet,负责处理HTTP请求,并通过ActionForm对象收集表单数据,然后调用Action类的方法进行业务...

    Struts2_hibernate_spring学习笔记.zip

    这篇学习笔记详细介绍了这三个框架的使用和集成,帮助开发者理解它们的核心概念、配置以及实际操作。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的开源框架,它主要负责控制应用程序的流程,将...

    struts中文文档及学习笔记

    学习笔记可能详细阐述了如何配置Struts的配置文件(struts-config.xml或struts2的struts.xml),包括Action配置、结果类型配置、全局拦截器配置等。此外,文档可能还会涵盖Action的注解方式配置,这是Struts 2的一大...

    struts2课程笔记

    Struts2 是一款流行的Java开源框架,用于构建企业级Web应用程序。它主要解决了传统Servlet API在处理请求转发和业务逻辑分离...学习并掌握Struts2,对于理解和实践SSH(Struts2、Spring、Hibernate)开源框架至关重要。

    个人spring&struts学习笔记

    Spring 和 Struts2 是两种非常重要的 Java Web 开发框架,它们在企业级应用开发中有着广泛的应用。Spring 主要是依赖注入(DI)和面向切面编程(AOP)的实现,而 Struts2 是一个基于 Model-View-Controller(MVC)...

    Struts2_学习笔记

    本学习笔记将深入探讨Struts2的核心概念、工作原理以及如何在实际开发中有效利用它。 **1. MVC模式与Struts2** MVC模式是一种软件设计模式,它将业务逻辑(Model)、用户界面(View)和数据控制(Controller)分离...

    struts2学习笔记和源码

    这份"struts2学习笔记和源码"资源是学习这个框架的理想材料,特别适合初学者。 一、Struts2框架基础 Struts2是Apache软件基金会下的一个项目,它是Struts1的升级版,弥补了Struts1的一些不足,如动作映射和拦截器等...

Global site tag (gtag.js) - Google Analytics