struts2框架

PlayJava SpringMVC与Struts2杂谈

徘徊边缘 提交于 2020-01-06 19:10:30
一 先做一个简单对比: 1. SpringMVC的入口是Servlet,核心是DispatcherServlet,Struts2是Filter,核心是FilterDispatcher 2. SpringMVC应当会比Struts2稍微快些。SpringMVC是基于方法设计,Struts2是基于类,即每发一次请求都会实例一个Action 3. SpringMVC使用相对简洁一些,支持JSR303,处理ajax请求更加方便,开发效率应当会比Struts2要高些 4. Struts2的OGNL表达式使页面的开发效率相比SpringMVC更高些 二 Struts2的核心控制器是FilterDispatcher,在Struts1系列版本中,所有的请求是通过一个Servlet(ActionServlet)来管理控制的,在Struts2系列版本中是经过一个Filter来处理请求的。Struts2选择Filter而不是Servlet来设计核心控制器,是为了实现AOP思想。 Struts1.x的配置: <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> ...... </servlet> Struts2.x的配置:

spring、Struts2、Hibernate整合

只愿长相守 提交于 2020-01-01 12:52:46
一、Hibernate框架 1.导入jar包 2.hibernate核心配置文件 hibernate.cfg.xml 4.映射配置 User.hbm.xml 二、Struts2框架 1.导入相关jar包 2.web.xml配置Struts2 3.Struts2核心配置文件 Struts.xml 4.log4j2.xml 三、Spring框架 1.导入相关jar包 2.web.xml 配置监听器 3.核心配置文件 AppactionContext.xml 四、SSH三大框架的整合思想 1. web应用的三层为: 1.1 web层,(struts2),Struts2框架用的最多的是action 1.2 service层(spring),spring中用的最多的是IoC和AOP,把对象的创建交给Spring进行管理 1.3 dao层(hibernate),hibernate则是用来操作数据库,进行CRUD 2.两两进行整合   2.1 Struts2和spring进行整合   将Struts中的action创建交给spring进行处理   2.2 hibernate和spring进行整合   两种方式(方式一)将SessionFactory的创建交给Spring进行管理      (方式二)Hibernate的核心文件的数据库信息也交给spring管理       注意: 1

struts2,spring,ibatis学习

孤街醉人 提交于 2020-01-01 01:11:52
1.1 什么是struts2?   MVC思想给网站设计带来了巨大的好处,但是MVC毕竟只是一种思想,不同的程序员写出来的基于MVC思想的应用,风格可能不一样。影响程序的标准化,Struts是为了规范MVC开发而发布的一个框架,类似的框架还有WebWork、SpringMVC等。   Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。 一个请求在Struts2框架中的处理大概分为以下几个步骤   1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求   2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)   3

Struts2+Spring+Ibatis集成合并

会有一股神秘感。 提交于 2020-01-01 01:10:02
上一篇博客讲述了 Struts 2+Spring 的集成合并,主要是利用了一个中间 jar 包,这篇博客在加上 Ibatis 持久层框架,三个框架进行合并。其中 Struts2 和 Spring 部分和前边的一样,主要是讲解 Spring 和 Ibatis 之间的合并,这里也涉及到 Spring 的 AOP 编程思想,声明式事务的使用。 一,看一下分工吧: Struts 2: 负责流程控制,主要针对的是从 JSP 页面到 action 类这一块的步骤。 Spring :负责各个类,对象的创建,包括 action , service ,dao, 数据连接对象, Ibatis 框架的核心对象 sqlMapClient , Spring 自身的事务处理扩展对象 transactionManager 。 Ibatis :负责对 JDBC 的封装,简化访问数据的程序。 二,环境的搭建: 1 ,需要考入的 jar 包: commons-fileupload-1.2.1.jar( Struts 2: 文件上传) commons-io-1.3.2.jar( Struts 2: 文件上传) freemarker-2.3.15.jar( Struts 2: 视图展现技术) ognl-2.7.3.jar( Struts 2: 对象图形导航语言,用于做数据操作) struts2-core-2.1.8.1

web开发逐步搭建SSI框架

ε祈祈猫儿з 提交于 2020-01-01 01:09:18
本来想买个自行车,心情全被浇没了。不说了,工作最忠实于自己,只有知识不会背叛自己。 工具:myeclipse6.5 +tomcat 6 +oracle 10g 框架:struts2,spring,ibatis 1:新建一个web project,注意选择j2ee specification level 时选择java EE 5.0,不知道其他人,这个经常被我忽略。点击“finish” 2:点击工程名---右键---myeclipse---add Spring。。。。---finish 3:右键---bulid path---remove 。。。移除掉自带的,添加自己的jar 4:在空白处,右键-import- file system-存放自己jar包的路径---next--在“into folder”输入“工程名/WebRoot/WEB-INF/lib”,注意,不要点击工程名然后右键import,应该从空白处右键import,不然回报错:"problem were encountered during inport " 5:按照同样的方法,配置struts2 注意:myeclipse6.5是不支持自动配置的,必须手动配置struts2,步骤如下: a:导入jar包,导包的时候直接复制到lib中,不用什么bulid path,,,这个时候你复制进去的jar包会自动变为小奶瓶 b

【SSI开发总结.6】Struts+Spring+Ibatis环境配置(一)

自作多情 提交于 2020-01-01 01:01:35
为了使struts2和spring集成,必须下载一个struts2的spring插件,实际上,struts2以上版本已经提供了这些插件,只要下载一个struts2.0以上版本就可以了。 总结一些,配置struts2+spring+ibatis项目开发环境需要的几个jar: struts2-core-2.0.11.jar(struts2框架) commons-lang.jar (struts2基础设施1,提供java常用操作API,比如字符串处理,XML解析等) commons-logging.jar(struts2基础设施2,提供java日志操作API,抽象出日志接口,方便操作) freemarker-2.3.8.jar(struts2基础设施3,freemarker模板视图支持,struts2标签主题支持) xwork-2.0.4.jar(struts2基础设施4, 命令模式框架支持 ) ognl-2.6.11.jar(struts2基础设施5,OGNL表达式支持) struts2-spring-plugin-2.0.11.jar (struts2基础设施6,struts集成spring插件) struts2-sitemesh-plugin-2.0.11.jar(struts2基础设施7,struts集成sitemesh插件) spring.jar(spring框架)

Struts2(2)_什么是 struts2

早过忘川 提交于 2019-12-28 07:33:04
本系列博客汇总在这里: Struts2 汇总 什么是 struts2 一、概念和简介 二、Strust2 核心功能 三、Struts2 目录结构 一、概念和简介 Struts2 是一个非常优秀的 MVC 框架,核心是 WebWork,由传统 Struts1 和 WebWork 两个经典框架发展而来。 Struts 2 是 Struts 的下一代产品,是在 struts 1 和 WebWork 的技术基础上进行了合并的全新的 Struts 2 框架。其全新的 Struts 2 的体系结构与 Struts 1 的体系结构差别巨大。Struts2 以WebWork 为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 ServletAPI 完全脱离开,所以 Struts 2 可以理解为 WebWork 的更新产品。虽然从Struts 1 到 Struts 2 有着太大的变化,但是相对于 WebWork,Struts 2 的变化很小。 二、Strust2 核心功能 允许 POJO(Plain Old Java Objects)对象作为 Action。 参数的封装。 Action 的 execute 方法不再与 Servlet API 耦合,更易测试。 支持更多视图技术(JSP、FreeMarker、Velocity)。 基于 Spring AOP 思想的拦截器机制

Struts2里的拦截器

ε祈祈猫儿з 提交于 2019-12-24 16:47:13
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 拦截器(Interceptor) 一、拦截器概述 拦截器是Struts2最强大的特征之一,它是一种让用户在Action执行之前和Result执行之后进行 一些处理的机制。 拦截器在概念上与servlet过滤器或JDK代理类相同。拦截器允许横切功能,把action以及框架分开实现。你可以使用拦截器实现以下操作: 在调用action之前提供预处理逻辑。 在调用action后提供后处理逻辑。 捕获异常,以便可以执行备用处理。 Struts2框架中提供的许多功能都是使用拦截器实现的,包括异常处理,文件上传,生命周期回调和验证等。事实上,由于Struts2将其大部分功能基于拦截器,因此不太可能为每个action分配7个或8个拦截器。 二、拦截器的优点 简化Action的实现。拦截器能把很多功能从Action中分离出来,大量减少了Action的代码。 功能更单一,每个拦截器都有自己独特的功能。 通用代码模块化,将Action中通用的代码抽离出来封装到拦截器里。 提高重用性,当通用的代码被封装在拦截器中,实现了代码模块化后,就可以对不同的Action,根据所需功能的不同,来配置相符的拦截器。 实现了AOP。Struts2通过拦截器实现了AOP(面向切面编程),AOP是一种编程范式,他是一种分散实现关注功能的编程方法。 三

Strust2_helloword

限于喜欢 提交于 2019-12-20 05:06:09
Struts 2 简介 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。 Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,在用户请求和模块化处理方面以及页面展示,Struts2 表现明显 Strus 2 与用户交互 Strus 2 的架构图 关于图中的Key: Servlet Filters:过滤器链,客户端的所有请求都要经过Filter链的处理。 Struts Core:Struts2的核心部分,但是Struts2已经帮我们做好了,我们不需要去做这个 Interceptors,Struts2的拦截器。Struts2提供了很多默认的拦截器,可以完成日常开发的绝大部分工作;而我们自定义的拦截器,用来实现实际的客户业务需要的功能。 User Created,由开发人员创建的,包括struts.xml、Action、Template,这些是每个使用Struts2来进行开发的人员都必须会的。 名称解释: 1.FilterDispatcher是整个Struts2的调度中心,也就是MVC中的C(控制中心),根据ActionMapper的结果来决定是否处理请求,如果ActionMapper指出该URL应该被Struts2处理

ssh jar包详解

隐身守侯 提交于 2019-12-19 23:38:23
我们在搭建SSH框架的时候,需要引入各自的一些jar包,相信很多初学者跟我一样,搜个资料,照搬过来(当然版本还得对应),至于为什么要引入这些个jar包,引入它们的作用是啥子,一头雾水,今天我就来跟这些SSH的初学者一起来探究一下SSH中的jar包。 首先,先来看一下我们使用的SSH的各自版本及引入的jar包。 struts2.3.1.2: struts2-core-2.3.1.jar javassist-3.11.0.GA.jar commons-io-2.0.1.jar commons-lang-2.5.jar commons-fileupload-1.2.2.jar xwork-core-2.3.1.2.jar freemarker-2.3.18.jar ognl-3.0.4.jar struts2-spring-plugin-2.3.1.2.jar Spring2.5.6 spring.jar commons-logging-1.1.1.jar common-annotations.jar aspectjrt.jar aspectjweaver.jar cglib-nodep-2.1_3.jar 如果用BasicDataSource来配置数据库连接,还要加入2个包: commons-pool.jar commons-dbcp.jar Hibernate3.6.8