struts2框架

Struts2简介

落爺英雄遲暮 提交于 2020-01-16 13:46:40
1.Struts2简介 1.1 Struts2概述 Struts2是Apache发行的MVC开源框架。注意:它只是 表现层 web (MVC) 框架。 1.2 Struts2的来历 Struts1: Struts1也是apache开发的一套mvc的开源框架。在2005年之前非常流行。 弊端:Struts1的核心控制器就是一个Servlet。随着使用者的增多,弊端开始出现。 Struts2: 有一个设计超前的框架XWork,后来推出了XWork1和WebWork2。 Struts2就是apache和OpenSymphony组织合并开发出来。 里面包含了WebWork2的核心及Struts的一些特性和功能。除此之外,和Struts1没有任何关系了。 注意:struts2和struts1没有必然的联系,只是struts1的升级和改进 2. struts2环境的搭建 2.1 下载Struts2的安装包 下载路径:http://struts.apache.org 第一个版本是jar包和源码都有的完整包 第二个版本是只存在jar 第三个版本是开发所必备的最小容量版本 最后一个是只提供Struts2源码的包 2.2 这里面下载一个压缩包,下面是压缩包解压后的目录结构 apps 官方提供的案例Demo docs 官方提供的文档 lib 官方提供的jar包,需要用到哪一个jar包,根据情况来确定

struts2和springmvc的区别

我只是一个虾纸丫 提交于 2020-01-16 05:02:20
一、拦截机制的不同   Struts2 是 类级别 的拦截,每次请求就会创建一个Action,和Spring整合时Struts2的ActionBean注入作用域是原型模式prototype,然后通过setter,getter吧request数据注入到属性。 Struts2中,一个Action对应一个request,response上下文,在接收参数时,可以通过属性接收,这说明属性参数是让多个方法共享的。 Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了,只能设计为多例。    SpringMVC是 方法级别 的拦截,一个方法对应一个Request上下文,所以方法直接基本上是独立的,独享request,response数据。而每个方法同时又何一个url对应,参数的传递是直接注入到方法中的,是方法所独有的。处理结果通过ModeMap返回给框架。 在Spring整合时,SpringMVC的Controller Bean默认单例模式Singleton,所以默认对所有的请求,只会创建一个Controller,有应为没有共享的属性,所以是线程安全的,如果要改变默认的作用域,需要添加@Scope注解修改。    Struts2有自己的拦截Interceptor机制,SpringMVC这是用的是独立的Aop方式

struts2

点点圈 提交于 2020-01-15 20:02:20
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller),像servlet中的Filter管理用户请求,建立模型与视图的数据交互。 实际上struts在web的配置文件中就是以过滤器filter的形式配置的。 ONGL表达式:就是对象图形化导航语言,在前端页面中,访问action的属性 interceptor拦截器 工作流程: (1)客户端浏览器发送HTTP请求到Web应用 (2)Web容器将请求传递到标准ActionContextCleanUp过滤器以消除属性,而不让后续过滤器清楚,以延长Action中属性(包括自定义属性)的生命周期。 (3)再经过如stimesh等其他过滤器后,请求传递给StrutsPrepareAndExecuteFilter核心控制器 (4)StrutsPrepareAndExecuteFilter调用ActionMapper(Action映射器)确定调用哪个Action,再将控制权转移给ActionProxy代理 (5)ActionProxy代理调用配置管理器ConfigurationManager从配置文件struts.xml中读取配置信息,然后创建ActionInvocation对象 (6

springmvc和struts2的区别

泄露秘密 提交于 2020-01-15 09:03:41
谈谈springmvc和struts2的区别 相同点 :二者都是基于mvc的web层的框架,都是负责接收用户浏览器提交的请求参数,通过某些校验操作调用业务层,而后获取到业务层返回的数据,将数据通过某种方式在前台展示。 不同点 :   (1)springmvc是基于方法开发的,struts2是基于类开发的。   (2)因为二者基于的出发点不同,所以在接收请求参数时区别比较大。     springmvc是通过参数绑定接收浏览器请求参数(方法上各种形参(request、response、session、Model、ModelMap、简单类型、简单pojo、包装类pojo)浏览器的请求参数),方法执行结束,形参数据就会销毁。    struts2是通过类中的成员变量接收浏览器请求参数的。   (3)由于接收请求参数方式的不同     springmvc:因为方法之间是线程隔离的,所以springmvc支持单例和多例的开发方式。    struts2:成员变量在开发中多线程会存在线程安全问题,所以struts2只能支持多例的开发方式。  (4)springmvc是通过存储数据ModelAndView,在前台页面通过jstl(默认)展示数据的    struts2是通过值栈存储数据,在页面通过OGNL展示数据的 还有一点扩展的,想起来就大概说说  

SpringMVC 和Struts2的区别

↘锁芯ラ 提交于 2020-01-14 01:54:55
SpringMVC 和Struts2的区别 1. 机制: spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。 2. 性能: spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。spring3 mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把request数据注入进去,在spring3 mvc中,一个方法对应一个request上下文。而struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入;struts2实际上是通 setter getter方法与request打交道的;struts2中,一个Action对象对应一个request上下文。 3. 参数传递: struts是在接受参数的时候,可以用属性来接受参数,这就说明参数是让多个方法共享的。 4. 设计思想上: struts更加符合oop(面向对象编程)的编程思想, spring就比较谨慎,在servlet上扩展。 5. intercepter的实现机制:

Struts2 框架总结

走远了吗. 提交于 2020-01-11 09:39:44
首先要知道mvc模式(model,view,controller),controller层用来接收页面请求的信息,并且调用service层来响应给界面信息。model层用来处理业务信息和数据库的交互,view用来显示界面信息。Struts就是mvc模式的优秀代表,struts最主要的是处理mvc的controller层。他用一个过滤器来代替controller层,具体的操作交给action。 首先在web.xml配置struts的过滤器,让所有的请求都经过这个过滤器,StrutsPrepareAndExecuteFilter类会根据struts配置文件找到相应的action进行处理 <?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_4_0.xsd" version="4.0"> <filter> <filter-name>struts2</filter

Struts2学习笔记——第一天

帅比萌擦擦* 提交于 2020-01-11 01:22:59
Struts2学习打卡 Struts2学习笔记---第一天 Struts2笔记 第一天 一.Struts2基本概念 1. 现有的servlet + jsp的开发方式存在的缺陷 --- Servlet(控制器) 2. Struts2框架 二.搭建环境( 每一个框架都需要走的流程 ) 三.第一个Struts程序 1. 写代码 2. 写配置文件 3. 部署访问 四.Struts框架下的跳转方式 1. Action ---> Jsp 2. Action ---> Action 五.请求参数的收集(收参) 1. 以单个数据的方式收集请求参数 2. 以对象的形式收集请求参数 3. 以集合或者数组的形式收集请求参数 --- 复选框 六.补充 1. 在Struts的Action程序中如何获取servlet里的常见对象 2. Struts里一个Action会产生多少个对象 3. 在myeclipse里配置xml文件的dtd文档,使得myeclipse可以“联想”(Alt+?) Struts2学习笔记—第一天 Struts2笔记 第一天 一.Struts2基本概念 1. 现有的servlet + jsp的开发方式存在的缺陷 — Servlet(控制器) 2. Struts2框架 1)框架:软件开发中的“半成品”,是对现有的通用功能代码的封装,提高代码的复用 性,提高软件的开发效率。 2

Android开发最佳学习路线图

可紊 提交于 2020-01-09 14:47:18
为了帮助大家更好的学习Android开发的相关知识,尚观4G智能操作系统研究室(www.up4g.com)为大家制作以下学习路线图;希望能帮助到广大的android爱好者。 在开始之前我们先来对相关知识进行一个简单的了解: 行业背景: 今天,涉及通信产业链中的每个环节,都有Android的身影,Android是第一款完全完整打通了整个通信产业链中的操作系统,手机方案商、集成商、运营商、内容提供商、用户,都在玩Android,都惊讶于Android的爆发式增长速度,Android现在每天有超过50万台新的Android设备启用。 随着Android平台的扩张,引发了Android人才荒,未来人才需求缺口将达百万。但符合条件的Android工程师屈指可数,企业招聘难度可想而知。据新京报等媒体报道Android工程师一年经验月薪8000元,对此李开复曾在微博谏言学生转学Android软件开发。我们相信,在未来几年内,Android开发工程师将成为3G行业炙手可热的岗位之一。 什么是Android: Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用安卓(非官方)或安致(官方)。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资

Struts2与Spring的整合

若如初见. 提交于 2020-01-09 07:09:09
今天倒腾了半天,终于是把这个两个框架整合到一起了。还是要写一下总结,同时给大家一些帮助。 开发环境:myeclipse 9.0(不好用!)tomcat6.0 1.准备工作 需要导入的包:struts2与spring基本的包就不用说了,我用的是struts2.1 Spring 3.0, 尤其要注意 别少导入的几个是:Spring3.0 Web Libraries ; struts支持spring的插件: struts2-spring-plugin-2.1.8.1.jar 将这个jar文件放到lib目录下 2.web.xml 的配置 除了struts2的核心配置外,我们还要加入spring的配置,代码如下: <!--指明spring配置文件的位置!--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:applicationContext*.xml</param-value> </context-param> <!-加载spring的配置文件!--> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> <

Struts2的基本介绍

﹥>﹥吖頭↗ 提交于 2020-01-08 18:18:46
Struts2的介绍 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。 jar包可去这儿下载 jar包下载 也可以通过maven配置。 1. Struts2的配置 struts2的配置需要一个struts.xml的配置文件,这个文件放在src的包下。因为struts2是基于前端控制器模型的,所以我们还需要配置一个核心过滤器(也叫前端控制器),用以将各个请求分发到action去处理. web项目结构图 先创建一个test.jsp < h1 > struts2 </ h1 > < a href = " LoginAction " > aaaaaaaaaaaaaaaaa </ a > 然后写一个Action类叫LoginAction public class LoginAction { //方法名用execute,因为Struts2会去找这个名字 public String execute ( ) { // TODO Auto-generated method stub System . out . println ( "123..." ) ; //返回的值,用于在struts.xml中查找跳转页面 return "q" ; } } 这是struts