struts2标签

自己总结的一些三大框架面试题

夙愿已清 提交于 2019-11-29 06:16:43
Struts 谈谈你对Struts的理解。 答: 1.struts是一个按MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个Servlet名为ActionServlet,或是ActionServlet的子类。我们可以在web.xml文件中将符合某种特征的所有请求交给这个Servlet处理,这个Servlet再参照一个配置文件(通常为/WEB-INF/struts-config.xml)将各个请求分别分配给不同的action去处理。 一个扩展知识点:struts的配置文件可以有多个,可以按模块配置各自的配置文件,这样可以防止配置文件的过度膨胀; 2.ActionServlet把请求交给action去处理之前,会将请求参数封装成一个formbean对象(就是一个java类,这个类中的每个属性对应一个请求参数),封装成一个什么样的formbean对象呢?看配置文件。 3.要说明的是, ActionServlet把formbean对象传递给action的execute方法之前,可能会调用formbean的validate方法进行校验,只有校验通过后才将这个formbean对象传递给action的execute方法,否则,它将返回一个错误页面,这个错误页面由input属性指定,(看配置文件)作者为什么将这里命名为input属性,而不是error属性

Struts2中OGNL,valueStack,stackContext的学习

馋奶兔 提交于 2019-11-29 06:14:36
[/color]学习Struts2,一直不明白表单中的值是怎么传给Action的,上网查了些资料,基本了解了!下面基本是从几个人的BOLG转载过来,以后记不清了再来看~ [color=red]先看看我做的实验 jsp页面 Java代码 <s:form action= "hello/converter.action" method= "post" > <s:textfield name= "point" label= "点" ></s:textfield> <s:textfield name= "point2" label= "2" ></s:textfield> <s:textfield name= "point3" label= "3" ></s:textfield> <s:textfield name= "age" label= "年龄" ></s:textfield> <s:textfield name= "date" label= "日期" ></s:textfield> <s:submit name= "提交" ></s:submit> </s:form> 结果图(是通过<s:debug></s:debug>得到的) value stack: Stack context: 通过图中我们可以看到 valuestack中包括我传递的值(point,point2,point3

STRUTS2运行机制

China☆狼群 提交于 2019-11-29 01:43:35
前言: 首先感谢中国最专业的java培训班《北京尚学堂》的无私奉献精神,免费提供这么多学习资料。 以及我的偶像马士兵老师,感觉您特帅,技术特别牛,今生若能相见,甚好。谢谢。 struts2 的运行机制: 探讨任何的运行机制,一定是这里开始, ( http://localhost:8080/Struts2_Instroduction/hello .action )( .action 可省略) 客户端在浏览器输入一个 URL 地址,这个请求通过 http 协议发送给 tomcat , tomcat 接收到请求后,查看请求的是哪一个 webapplication ,(如: Struts2_Instroduction ) , 然后把 Struts2_Instroduction 交给对应的程序处理,首先读取它的 web.xml 看它是怎么配置的: 首先在 web.xml 里配了一个 filter ,它会过滤所有的 URL 地址(因为 url-partten 为 /* ),所以当我们在地址栏敲 http://localhost:8080/Struts2_Instroduction / hello 的时候,会被 filter-class 里的 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 接收到

struts2基本配置详解

柔情痞子 提交于 2019-11-29 01:43:28
接上一篇文章, 使用maven+eclipse搭建最简单的struts2的HelloWorld ,本篇将主要讲strust2的基本配置: 1、web.xml的作用 web.xml核心代码: <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> 1)、通知web服务器(tomcat),只要是 /* 的请求路径,都交由该Filter来处理. 2)、通过解析和反射struts2的核心Filter,实例化后,加载struts2的相关配置文件,如struts.xml 将struts.xml文件解析后,在内存中形成一个JavaBean对象,每次访问进不需要重新加载,直接访问内存。 当重新部署时会重新加载struts.xml形成新的JavaBean对象. 举例: 在外存中: struts.xml <root> <Action name="x"

Struts2 配置文件

不问归期 提交于 2019-11-29 01:43:10
本章将带你通过一个Struts2应用程序所需的基本配置。在这里,我们将看到在一些重要的配置文件,将配置文件:web.xml ,struts.xml,struts-config.xml和struts.properties 使用web.xml和struts.xml的配置文件,并在前面的章节中,已经看到我们的例子中曾使用这两个文件,让我解释以及其他文件。 web.xml 文件: web.xml配置文件是一个J2EE的配置文件,决定如何处理元素的HTTP请求由servlet容器。严格来说它不是一个Struts2的配置文件,但它是Struts2的工作需要进行配置的文件。 如前所述,这个文件为任何Web应用程序提供了一个切入点。 Struts2 应用程序的入口点,将是一个部署描述符(web.xml)中定义的过滤器。因此,我们将定义在web.xml中的FilterDispatcher是类的项。需要创建的文件夹的WebContent/ WEB-INF下web.xml文件。 这是第一个配置文件,将需要配置,如果没有一个模板或工具,可生成(如Eclipse或Maven2的)的帮助下开始。以下是web.xml文件中的内容,我们用我们的最后一个例子。 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org

Java MVC框架性能比较 jsp、struts1、struts2、springmvc3

可紊 提交于 2019-11-29 00:47:10
Java MVC框架性能比较 jsp、struts1、struts2、springmvc3 (转帖) 个人希望本帖对大家认识一些常用的MVC框架有所帮助! 现在各种MVC框架很多,各框架的优缺点网络上也有很多的参考文章,但介绍各框架性能方面差别的文章却不多,本人在项目开发中,感觉到采用了struts2框架的项目访问速度,明显不如原来采用了struts1框架的项目快,带着这些疑惑,我对各类MVC框架的做了一个简单的性能分析比较,其结果应该说是基本符合预期的,可供大家参考。 测试环境:CPU:酷睿2 T5750,内存:DDR2-667 2G,Web容器:Tomcat6.0,最大线程数设置为1000,操作系统:WinXP-sp3 测试步骤:搭建6个Web工程,如下: 1.纯JSP:不包含任何MVC框架,只有一个测试用的JSP页面。 2.struts1:包含一个Action,不做任何逻辑处理,直接转发到一个JSP页面 3.struts2 JSP:不包含Action,只包含测试JSP页面,直接访问该页面。 4.struts2 单例Action:采用Spring来管理Struts2的Action实例,并配置成单例模式。 5.struts2 多例Action:采用Spring来管理Struts2的Action实例,并配置成单例模式。 6.SpringMVC3

Struts2框架基础概念总结

核能气质少年 提交于 2019-11-29 00:38:17
Struts2框架基础概念总结 一、struts2框架 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2在Struts1融合webwork。 ONGL表达式:就是对象图形化导航语言,在前端页面中,访问action的属性、方法;类似于认为就是对JSP的封装,是编程更加方便。(以下详解) 二、framework(框架) 一个基本概念上的结构,用于去解决或者处理复杂的问题,框架是在特定的领域内解决问题。 框架的优点: (1)重用代码大大增加,软件生产效率和质量也得到了提高 (2)使用框架开发,它提供统一的标准,大大降低了我们的后期维护。 三、Struts 2框架运作 工作流程: (1)客户端浏览器发送HTTP请求到Web应用 (2)Web容器将请求传递到标准ActionContextCleanUp过滤器以消除属性,而不让后续过滤器清楚,以延长Action中属性(包括自定义属性)的生命周期。 (3)再经过如stimesh等其他过滤器后,请求传递给StrutsPrepareAndExecuteFilter核心控制器 (4)StrutsPrepareAndExecuteFilter调用ActionMapper(Action映射器

Java web学习(五)

寵の児 提交于 2019-11-28 09:28:44
Struts2框架几乎是目前最优秀的MVC框架之一。Struts2框架是WebWork框架和Struts1框架的结合体。 Struts2结构体系 注:现在StrutsPrepareAndExecuteFilter过滤器已经代替了FilterDispatcher过滤器。 工作原理:当客户端发送一个HTTP请求时,需要经过一个过滤器链,这个过滤器链包括ActionContextClearUp过滤器,其他WEB应用过滤器及StrutsPrepareAndExecuteFilter过滤器,其中StrutsPrepareAndExecuteFilter过滤器是必须要配置的。 当StrutsPrepareAndExecuteFilter过滤器被调用时,ActionMapper将查找需要调用的Action对象,并返回该对象的代理ActionProxy。然后ActionProxy将从配置管理器ConfigurationManager中读取Struts2的相关配置(struts.xml)。Action容器ActionInvocation调用指定的Action对象,在调用之前需要经过Struts2的一系列拦截器。 当Action处理请求后,将返回相应的结果视图,在这些视图中可以使用Struts2标签显示数据并控制数据逻辑。然后HTTP请求回应给浏览器,在回应的过程中同样经过过滤器。

struts2入门

蓝咒 提交于 2019-11-28 05:06:56
struts2简介 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2是Struts的下一代产品,这个框架充分发挥了Struts1和WebWork这两种技术的优势,抛弃原来Struts1的缺点,使得Web开发更加容易。 struts2的优点 : 项目开源,使用及扩展方便 - 天生优势; 提供Exception处理机制; Result 方式的页面导航,通过 Result 标签很方便的实现重定向和页面跳转; 通过简单、集中的配置来调度业务类,使得配置和修改都非常容易; 提供简单、统一的表达式语言来访问所有可供访问的数据; 提供标准、强大的验证框架和国际化框架; 提供强大的、可以有效减少页面代码的标签; 提供良好的Ajax支持; 拥有简单的插件,只需要放入响应的 jar 包,任何人都可以扩展 Struts2 框架。 struts2配置文件 struts-base.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http:/

Struts2框架简单介绍

房东的猫 提交于 2019-11-28 04:02:39
如需,了解Struts2详情,请点击, 传送门 工作原理 在Struts2 框架中的处理大概分为以下步骤:    1.客户端初始化一个指向servlet容器(例如Tomcat)的请求。   2.这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的继承很有帮助,例如:SiteMesh Plugin)。   3.接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action。   4.如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy。   5.ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类。   6.ActionProxy创建一个ActionInvocation的实例。   7.ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(intercepter)的调用。   8.一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回的结果通常是