重新学习之spring第三个程序,整合struts2+spring

第一步:导入Struts2jar包+springIOC的jar包和Aop的Jar包

第二步:建立applicationContext.xml文件+struts.xml文件+web.xml文件

web.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.5"
 3     xmlns="http://java.sun.com/xml/ns/javaee"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 7
 8     <context-param>
 9               <description>
10                 将applicationContext.xml放在src目录下,依然能够找到该配置文件
11             </description>
12
13             <param-name>contextConfigLocation</param-name>
14               <param-value>classpath:applicationContext.xml</param-value>
15     </context-param>
16
17     <listener>
18           <description>
19             项目启动时,创建Ioc容器,将项目下所有费数据类创建对象,并注入,建立对象之间的关系
20         </description>
21
22         <listener-class>
23             org.springframework.web.context.ContextLoaderListener</listener-class>
24     </listener>
25
26
27
28   <filter>
29         <filter-name>struts2</filter-name>
30         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
31     </filter>
32
33     <filter-mapping>
34         <filter-name>struts2</filter-name>
35         <url-pattern>/*</url-pattern>
36     </filter-mapping>
37
38 </web-app>

applicationContext.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4         xmlns:aop="http://www.springframework.org/schema/aop"
 5         xmlns:tx="http://www.springframework.org/schema/tx"
 6         xsi:schemaLocation="
 7             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
 8             http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
 9             http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
10
11     <!--
12         lazy-init:true 懒加载,初始ioc化容器的时候,不建立对象
13         lazy-init:false(默认) 不懒加载,初始化ioc容器的时候,就讲applicationContext.XML中所有配置的类的对象创建,并建立关系
14         scope:prototype每次取对应id的类的对象,都新创建一个
15         scope:singleton(默认)类似于单例模式,只要容器初始化一个类对象,以后所有的取用,都是取这一个
16       -->
17
18       <!-- 通过setter方法,依赖注入对象。控制反转 -->
19     <bean id="UserAction " class="com.bjsxt.sxf.action.UserAction"  scope="prototype" >
20         <property name="userDao" ref="UserDao" ></property>
21     </bean>
22     <bean id="UserDao" class="com.bjsxt.sxf.dao.UserDao" scope="prototype"></bean>
23
24
25
26     <!-- 定义一个切面(连接点,切入点,通知) -->
27     <bean id="log" class="com.bjsxt.sxf.aop.MyAop"></bean>
28     <aop:config >
29         <!-- 切入点,将dao包下所有有参数或无参数传入的,有返回值或无返回值类型的公共方法,进行代理。 -->
30         <aop:pointcut expression="execution(public * com.bjsxt.sxf.dao.*.*(..))" id="logCut"/>
31         <!-- 通知,也就是代理对象中增强功能代码的编写 -->
32         <aop:aspect ref="log">
33             <!-- 环绕通知,有参数的传递,可对参数传递进行处理 -->
34             <aop:around method="aroundRun" pointcut-ref="logCut"/>
35         </aop:aspect>
36     </aop:config>
37 </beans>

struts.xml

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC
 3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 4     "http://struts.apache.org/dtds/struts-2.3.dtd">
 5
 6 <struts>
 7     <!-- 如果请求地址=actionName!methodName ,则该配置需要进行设置,否则访问地址错误-->
 8     <constant name="struts.enable.DynamicMethodInvocation" value="true" />
 9
10     <!-- 开发模式 -->
11     <constant name="struts.devMode" value="true" />
12
13     <!-- 编码格式过滤 -->
14     <constant name="struts.i18n.encoding" value="utf-8"></constant>
15
16    <!-- 告诉struts.xml不要自己通过反射new,对象,去spring的ioc容器中找
17             action中的class=‘spring中Ioc容器中对象的id‘
18             annotation注解生成对象默认情况下id值为是:类名首字符小写
19             需要加jar包struts-spring-plugin..jar
20          -->
21     <constant name="struts.objectFactory" value="spring"></constant>
22
23
24     <package name="default" namespace="/" extends="struts-default">
25         <!-- actionName!methodName请求方式的配置 -->
26         <action name="userAction" class="UserAction">
27             <result name="success">/page/success.jsp</result>
28         </action>
29     </package>
30 </struts>

第三步:测试(省略相关代码。)

时间: 2024-11-12 09:24:35

重新学习之spring第三个程序,整合struts2+spring的相关文章

整合struts2+spring+hibernate

 一.准备struts2+spring+hibernate所需要的jar包: 新建web项目并将jar包引入到工程项目中. 二.搭建struts2环境 a.在web项目的web.xml中加入struts2的过滤器,以过滤用户的所有请求,该过滤器将请求交给对应的Action处理 . <filter> <filter-name>Struts2</filter-name> <filter-class> org.apache.struts2.dispatcher

首次整合struts2+spring 提交表单后报的500错误

spring+struts2整合,做了一个用户登陆的测试程序,附下配置文件片段  <constant name="struts.objectFactory" value="spring"/>  <package name="struts-config" namespace="/" extends="struts-default">   <action name="lo

SSH(struts2+spring+hibernate)三大框架整合

SSH框架整合理论: 在SSH框架的JAVAweb项目的开发过程中,WEB层通常使用的是Struts2+jsp,service层使用的是javaBean,DAO层使用的是hibernate,而spring的使用覆盖三层. 使用了spring框架之后,我们可以把对象交给spring来管理.在WEB层中,所有action对象的创建和管理都可以交给spring来完成,这样Struts2就不用自己来new一个action,这一切都可以交给spring,直接向spring来要action对象. 在DAO层

SSH三大框架的搭建整合(struts2+spring+hibernate)(转)

原文地址:http://blog.csdn.net/kyle0349/article/details/51751913  尊重原创,请访问原文地址 SSH说的上是javaweb经典框架,不能说100%要会SSH框架,但是大部分公司都在用,说到框架,都会提到ssh吧,这次就以很简单的注册例子来整合SSH框架.整合框架要注意的是先每个框架单独测通后再整合,不然整合后出现问题比较难排查. 环境:windows + MyEclipse + JDK1.7 + Tomcat7 + MySQL 代码已经测通,

跟我学习SpringCloud 教程第三篇:注册中心集群篇-b2b2c小程序电子商务

集群环境搭建?了解springcloud架构可以加求求:三五三六二四七二五九第一步:我们新建两个注册中心工程一个叫eureka_register_service_master.另外一个叫eureka_register_service_backup eureka_register_service_master的application.properties配置如下?server.port=7998 eureka.client.register-with-eureka=false eureka.cli

Spring学习(二)——使用用Gradle构建一个简单的Spring MVC Web应用程序

1.新建一个Gradle工程(Project) 在新建工程窗口的左侧中选择 [Gradle],右侧保持默认选择,点击next,模块命名为VelocityDemo. 2.在该工程下新建一个 module,在弹出的窗口的左侧中选择 [Gradle],右侧勾选[Spring MVC],如下图所示: 并勾选[Application server],下方选择框中选择Tomcat7.0,如无该选项,则选中右边的 [ New... ] -- [ Tomcat Server ], 配置 Tomcat .配置好后

Spring 学习之路(三)

前言:对于使用Spring框架的开发人员来说,我们主要做的主要有两件事情:①开发Bean;②配置Bean;而Spring帮我们做的就是根据配置文件来创建Bean实例,并调用Bean实例的方法来完成“依赖注入”,可以把Spring容器理解成一个大型工厂,Bean就是该工厂的产品,工厂(Spirng容器)里能生产出来什么样的产品(Bean),完全取决于我们在配置文件中的配置.我们那么今天我们就来说说关于Bean的故事... 容器中Bean的作用域 singleton 在整个Spring IoC 容器

第三章程序的机器级表示 学习报告

第三章 程序的机器级表示 3.1 历史观点 Intel处理器系列俗称x86,开始时是第一代单芯片.16位微处理器之一. 每个后继处理器的设计都是后向兼容的——较早版本上编译的代码可以在较新的处理器上运行. X86 寻址方式经历三代: 1  DOS时代的平坦模式,不区分用户空间和内核空间,很不安全 2  8086的分段模式 3  IA32的带保护模式的平坦模式 3.2 程序编码 gcc -01 -o p p1.c -01 表示使用第一级优化.优化的级别与编译时间和最终产生代码的形式都有关系,一般认

Java精选面试题之Spring Boot 三十三问

Spring Boot Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家. 问题一: Spring Boot.Spring MVC 和 Spring 有什么区别? SpringFrame SpringFramework 最重要的特征是依赖注入.所有 SpringModules 不是依赖注入就是 IOC 控制反转. 当我们恰当的使用 DI 或者是 IOC 的时候,我们可以开发松耦合应用.松耦合应用的单元测试可以很容易的进行. Spr