文档章节

Spring+Struts2整合

J
 Java编程思想
发布于 2013/11/30 10:56
字数 422
阅读 22
收藏 0

1,整合Struts2
     a)导入struts的jar包
         struts2-core-2.1.6.jar   xwork-2.1.2.jar  ognl-2.6.11.jar    freemarker-2.3.13.jar  commons-logging-1.1.jar  commons-fileupload-1.2.1.jar
    b)将struts.xml文件拷贝到src目录下
    c)在web.xml里配置struts的核心过滤器

<filter> 
        <filter-name>struts2</filter-name> 
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 
    </filter> 
    <filter-mapping> 
        <filter-name>struts2</filter-name> 
        <url-pattern>/*</url-pattern> 
    </filter-mapping> 

2,整合Spring
      a)导入Spring的jar包  spring.jar  commons-logging.jar
      b)将applicationContext.xml文件拷贝到WEB-INF目录下
      c)在web.xml里配置spring的监听器
 

<!-- 配置spring监听器 --> 
    <listener> 
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 

       d)添加spring与struts2整合的插件  struts2-spring-plugin-2.1.6.jar
 
3,编写代码测试
  登录页面login.jsp
 

<body> 
   <form action="login" method="post"> 
       USERNAME:<input type="text" name="username" /><br> 
       PASSWORD:<input type="password" name="password" /><br> 
       <input type="submit" value="登录"> 
   </form> 
 </body> 

登录成功页面 success.jsp

<body> 
   登录成功! 
 </body> 

LoginDao业务接口

package com.itmyhome.actioin; 
 
interface LoginDao { 
    public boolean login(String username,String password); 

 
LoginDaoImpl业务接口实现

package com.itmyhome.actioin; 
 
public class LoginDaoImpl implements LoginDao { 
 
    public boolean login(String username, String password) { 
        // TODO Auto-generated method stub 
        if("zhangsan".equals(username)&&"123".equals(password)){ 
            return true; 
        }else{ 
            return false; 
        } 
    } 
 

LoginAction

package com.itmyhome.actioin; 
 
import com.opensymphony.xwork2.ActionSupport; 
 
public class LoginAction extends ActionSupport { 
    private String username; 
    private String password; 
    private LoginDao loginDao;  //此DAO交给spring来处理 
    public String execute(){ 
         
        if(loginDao.login(username, password)){ 
            return "success"; 
        }else{ 
            return "input"; 
        } 
    } 
 
    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; 
    } 
 
    public LoginDao getLoginDao() { 
        return loginDao; 
    } 
 
    public void setLoginDao(LoginDao loginDao) { 
        this.loginDao = loginDao; 
    } 
     

struts.xml配置文件

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
    "http://struts.apache.org/dtds/struts-2.0.dtd"> 
 
<struts> 
 
    <package name="default" namespace="/" extends="struts-default"> 
        <action name="login" class="com.itmyhome.actioin.LoginAction"> 
           <result name="success">/success.jsp</result> 
           <result name="input">/login.jsp</result> 
        </action> 
    </package> 
 
    <!-- Add packages here --> 
 
</struts> 

applicationContext.xml配置文件

<bean id="loginDao" class="com.itmyhome.actioin.LoginDaoImpl" /> 
 
<!-- 可注释  --> 
<bean id="loginAction" class="com.itmyhome.actioin.LoginAction"> 
    <property name="loginDao" ref="loginDao" /> 
</bean> 

部署,启动tomcat 输入"zhangsan","123" 跳转到success.jsp 整合成功

摘自 itmyhome的专栏

本文转载自:http://www.2cto.com/kf/201201/115813.html

J
粉丝 28
博文 167
码字总数 10302
作品 0
广州
程序员
私信 提问
spring+struts2 注入配置到Action属性,求大神给个demo?

spring+struts2 注入配置到Action属性,求大神给个demo?

剑禅觅心
2015/12/13
419
2
如何设计一个安全的框架使用struts2+spring,需要分布式部署

利用安全、分布式以及spring+struts2,再结合其他的知识,设计一个安全的框架。

hymanli
2014/05/26
1K
9
细谈Spring(十一)深入理解spring+struts2整合(附源码)

Spring和struts2是我们在项目架构中用的比较多的两个框架,怎么才能把这两个框架用好,怎么来整合是我们掌握运用这两个框架的关键点,下面我们就怎么来整合,从哪来整合,为什么要整合,从这...

youyu2299
2013/12/06
189
0
java一体化构架--Jspx.net

一套开源的 Jspx.net Framework (简实构架)是一套开源的java一体化构架,丢掉了jsp编译的烦恼和使用tag的麻烦, 完整的架构体系,包括了ui、ioc、cache、连接池、验证、模板引擎、数据库中间件等...

jspxnet
2014/06/01
1K
0
浅聊这2各月的学习

从今年的7月份学校放暑假,到如今马上又要开学,忽然间2个月的时间已匆匆过去。这两天也没有做出什么具有效率成果的事情,编写一文章做点总结吧。 当暑假即将来临的那会,我已经在着急忙忙的...

wewoor
2012/09/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部