Struts2【整合Spring】

前言

Spring的第二和第三篇已经讲解了Spring的基本要点了【也就是Core模块】…本博文主要讲解Spring怎么与Struts2框架整合

Struts2和Spring的整合关键点

  • action对象交给Spring来创建

搭建环境

进入jar包

引入jar文件:

  • 1)引入struts .jar相关文件
  • 2)spring-core 相关jar文件
  • 3)spring-web 支持jar包
    • spring-web-3.2.5.RELEASE.jar 【Spring源码】
    • struts2-spring-plugin-2.3.4.1.jar 【Struts源码】

这里写图片描述

写配置文件

  • struts.xml 【struts路径与action映射配置】
  • bean.xml 【spring ioc容器配置】
  • web.xml
    • 【核心过滤器: 引入struts功能】
    • 【初始化spring的ioc容器】查看Spring的API

web.xml文件

web.xml文件

除了要配置Struts2的分配器,还要加载Spring的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <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 配置 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>


        <param-value>/WEB-INF/classes/bean*</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

</web-app>

这里写图片描述

编写Spring配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

</beans>

这里写图片描述

这里写图片描述


编写Struts2配置文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">

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

        <action name="bbb" class="userAction">
            <result name="success" >/2.jsp</result>
        </action>

    </package>


</struts>

这里写图片描述

最后

这里写图片描述

这里写图片描述

原文发布于微信公众号 - Java3y(gh_085b56c42174)

原文发表时间:2018-03-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏指尖下的Android

NDK开发环境配置

1,新建项目添加C++支持,让Android Studio自动生成相关的配置文件 2,设置生成的.SO库名和相应的平台库 在配置build.gradle文件...

1841
来自专栏电光石火

获得PHP版本信息及版本比较

version_compare是一个版本比较工具,当然也可以作为其他的版本比较工具:

933
来自专栏黑白安全

Kali Linux安装到U盘

虽然使用其他工具也能将Kali Linux安装到U盘,但是经测试,成功率很低。而且一般是刻录后还需要其他操作以避免刻录为Kali Linux安装盘。借助虚拟机将...

2032
来自专栏好好学习吧

testng中使用reportng报告

1602
来自专栏编程坑太多

springboot (一) hello world

1904
来自专栏Java技术栈

Spring Boot 2.x 新特性总结及迁移指南

这一篇文章主要讲解 Spring Boot 2.x 与 1.5.x 的区别,2.x 主要更新了什么东西,以便对 Spring Boot 2.x 有一个详细的了解...

1342
来自专栏ytkah

3389服务器远程端口修改怎么操作

  今天在服务器端的攻击防护日志中看到3389端口被攻击了,查了一下3389是服务器远程端口,是服务器远程连接的默认端口,很多黑客都针对这个端口进行扫描,那如果...

2.5K9
来自专栏屈定‘s Blog

Alfred插件开发--了解Alfred的数据流动

最近发现要记住的长命令太多了,因此打算开发一款Alfred插件帮助自己记录. 先展示下成品,大概就是输入关键词->搜索展示->复制到指定位置这一流程,借此开分析...

1953
来自专栏Java技术栈

Spring Boot国际化支持

本章将讲解如何在Spring Boot和Thymeleaf中做页面模板国际化的支持,根据系统语言环境或者session中的语言来自动读取不同环境中的文字。 国际...

7266
来自专栏张首富-小白的成长历程

使用vsftp作为集群的yum仓库

Linux nfs01 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86...

1242

扫码关注云+社区

领取腾讯云代金券