Struts 2(二):使用Struts2】的更多相关文章

一.将struts 2的lib文件夹下地commons-fileupload.jar.commons-io.jar.freemarker.jar.javassist.jar.ognl.jar.struts2-core.jar和xwork-core.jar必需类复制到web应用的WEB-INF/lib路径下.如果需要在web应用中使用struts 2的更多特性,则需要将相应的JAR文件复制到web应用的WEB-INF/lib路径下. 二.编辑Web应用的web.xml配置文件,配置Struts 2…
所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 get/set 自动获取/设置数据 action代码: 1 package com.wishwzp.action; import com.opensymphony.xwork2.Action; public class HelloWorldAction implements Action{ private String name; public Stri…
一.struts2参数传递错误 1. 基本数据类型的传递最好使用包装类,原因是struts 2.1之后使用基本数据类型如果参数为空会报错2. 日期参数的传递最好定义一个区域的属性(定义locale),在struts.properties里面定义struts.locale=zh_CN,原因是日期在不同的区域中格式不一样,所以默认情况下日期会随着浏览器的不同使用不同的区域的日期格式 二.struts2的输入错误验证 1. 在前一篇文章关于struts2系列(一)的文章中搭建的struts2的开发环境…
值栈和ognl表达式 1.只要是一个MVC框架,必须解决数据的存和取的问题 2.struts2利用值栈来存数据,所以值栈是一个存储数据的内存结构 1.  ValueStack是一个接口,在struts2中使用OGNL表达式实际上是使用实现了ValueStack接口的类 OgnlValueStack,这个类是OgnlValueStack的基础. 2.  ValueStack贯穿整个action的生命周期.每一个action实例都拥有一个ValueStack对象.其中保 存了当前action对象和其…
一.web.xml文件 web.xml配置文件是一种J2EE配置文件,决定servlet容器的HTTP元素需求如何进行处理.它严格来说不是一个Struts2 配置文件,但它是Struts2 运作所需要进行配置的文件. 正如前面所讨论的,这个文件为每个web应用程序提供接入点.在部署描述符(web.xml)中,Struts2 应用程序的接入点将会定义为一个过滤器.因此我们将在web.xml里定义一个FilterDispatcher类的接入点,而这个web.xml文件需要在WebContent/WE…
Strtu2框架 1.控制器:ActionServlet充当控制层 2.模型层:由ActionForm及业务JavaBean实现 3.视图:用户的看到并与之交互的界面   由struts标签库和jsp页面实现的视图层 第一个简单的Struts2的程序 (1)创建工程,将Struts2的支持类库的web_inf目录下的lib文件拷贝到工程下的lib目录下,并添加到工程中 (2)在web.xml中生命Struts2提供的过滤器  <?xml version="1.0" encodin…
1.struts2在开发中所必须用到的jar包导入到项目的lib目录下 2.在web.xml中配置一个过滤器,代码格式如下 <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <…
配置当前action的声明异常处理 1.exception-mapping元素中有2个属性 exception:指定需要捕获的异常类型 result:指定一个响应结果,该结果将在捕获到异常时被执行.即可以来自当前action的声明,也可以来自global-results声明. 2.可以在视图上通过<s:property>标签显示异常消息. 基于上几个章节的例子开始往下写,修改save函数: public String save(){ System.out.println("save&…
国际化(internationalization,i18n)和本地化(localization,l10n)指让产品(出版物,软件,硬件等)能够适应非本地环境,特别是其他的语言和文化.程序在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面. 国际化原理: 国际化资源文件:用不同国家的语言描述相同的信息,并放在各自对应的.properties属性文件中,程序根据运行时环境决定加载哪个文件. 国际化主要通过以下类完成:  java.util.Locale:对应一个特定的国家/区域.语言环境.…
1. pom.xml文件添struts2依赖jar包: <!-- 与Struts2集成必须使用 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.1.4.RELEASE</version> </dependency> <!-- Struts…
一.Struts2标签的优势 标签库简化了用户对标签的使用 结合OGNL使用,对于集合.对象的访问功能非常强大 提供可扩展的主题.模板支持.极大简化了视图页面的编写 不依赖任何表现层技术 Struts2标签的分类: 通用标签(Generir Tags) 数据标签(Data Tags) 控制标签(Control Tags) UI标签(UI Tags) Ajax标签(Ajax Tags) 二.数据标签 web.xml <filter> <filter-name>struts2</…
接上一篇博客,这篇博客讲述一下2——9小标题的内容,这些问题都可以在struts2配置文件中设置(当然有的也可以在Struts.properties属性文件,web.xml中进行设置),而且常规开发中也基本都是在struts2配置文件中设置呢,也提倡大家在这里写,方便统一管理,所以可以说是如何编写struts2.xml的编写. 一,框架的扩展名问题: 1,struts2框架的默认扩展名:.action和空字符串. 在框架的属性文件default.properties中进行默认配置:struts.…
一,框架的扩展名问题: ,struts2框架的默认扩展名:.action和空字符串.在框架的属性文件default.properties中进行默认配置:struts.action.extension=action,, ,如何覆盖框架的默认扩展名: a,在struts.xml文件中增加常量标签(推荐使用) <!--声明常量 --> <!--覆盖框架默认扩展名 --> <constantname="struts.action.extension"value=&…
一.系统架构   Struts2的官方文档附带了Struts2的架构图. 从这张图能够非常好的去理解Struts2 关于图中的Key: Servlet Filters:过滤器链,client的全部请求都要经过Filter链的处理. Struts Core:Struts2的核心部分,可是Struts2已经帮我们做好了,我们不须要去做这个 Interceptors.Struts2的拦截器.Struts2提供了非常多默认的拦截器.能够完毕日常开发的绝大部分工作:而我们自己定义的拦截器,用来实现实际的客…
在myeclipse下开发的 应用但是 放到BAE下就出现了问题,虽然显示发布成功,但是访问的时候就会出现503 Service Unavailable 错误.通过调整 web.xml 发现纯Servlet是可以正常访问的,一旦加入struct2之后就会 503 错误.一开始以为是struts版本的问题 更换了版本还是一样有问题,即使使用了百度文档里说的 2.3.1.2 版本问题依旧.一直倒腾怎么久都没有解决的关键就是,他的日志里什么错误都没有!!!! 由于BAE使用的是 jetty 容器 不是…
所有的MVC框架,都属于表现层的解决方案,都需要负责收集用户请求参数,并将请求参数传给应用的控制器组件. 这时问题出现了,所有的请求参数都是字符串类型数据,因此MVC框架必须具备将这些字符串请求参数转换成相应的数据类型. struts2提供了非常强大的类型转换机制,struts2的类型转换是基于OGNL表达式. struts2提供了很好的扩展性,开发者可以开发出自己的类型转换器.完成字符串到自定义类型之间的转换. 如果类型转换中出现未知异常,开发者无须关心异常处理,struts2的convers…
上一篇文章,我们介绍了MVC框架的基本原理,并指出了这个基本框架中存在大量if…else的问题.今天我们来介绍一下struts框架,让struts解决这个问题. 首先,看一下粗略的时序图: ActionServlet是中央控制器,负责集区URL或分发: ActionForm负责收集表单数据,并且,struts会将表单数据转换成相应的数据类型. Action是业务层控制器. 上面就是struts大体上的实现,下面分析一下该struts框架执行流程: 1.终端客户向tomcat发出request请求…
通用标签库 判断标签:<s:if>.<s:elseif>.<s:else> 循环标签:<s:iterator> 其他常用标签: <s:property/> <s:debug/> <s:date/>---在页面上进行格式化 UI标签库(方便数据回显) Struts2的表单在default.property配置为xhtml,默认嵌套表格.如果不用,可以在表单上标注theme属性为simple(本表单上有效).也可以在常量上修改…
[前言]所谓快速开发,实质上为了节省项目的开支成本,减少程序员的开发时 间,固然就形成了种种二次封装的框架,也就是造轮子,然后我们的程序就按照这个轮子去画瓢,这里我就把公司这几次开发系统的框架源码贴出来,做一下讲解以 及使用示范,并有附件提供参考,希望能给各位在基于后台管理系统提供帮助.[目录]        1.struts2的配置        2.struts2的基类构成        3.具体实例应用[内容]           一.struts2的配置    1 .struts2的过滤…
本文简单描述如何在Eclipse中使用使用Struts2,并介绍一下Struts2的配置文件 注:Struts2默认需要Java 5.0及其以上版本的运行环境支持,Web容器需要支持Servlet 2.4和JSP 2.0 一.Eclipse+Struts 1.新建项目 在Eclipse中新建Dynamic Web Project,项目名为StrutsPro,在WEB-INF/lib目录下添加Struts 2框架的jar包,项目结构如下图所示: 2.配置web.xml 编辑项目中的web.xml文…
一.前言 之前便了解过,Struts 2的核心控制器是一个Filter过滤器,负责拦截所有的用户请求,当用户请求发送过来时,会去检测struts.xml是否存在这个action,如果存在,服务器便会自动帮我们跳转到指定的处理类中去处理用户的请求,基本流程如下: 该流程笔者理解是基本流程,.如果有不对的地方,请下方留言.我会改正.谢谢: 好,接着往下讲: 注意:在struts.xml中,配置文件必须有该请求的处理类才能正常跳转,同时,返回SUCCESS字符串的类,必须继承ActionSupport…
二十六:Struts2 和 spring整合 将项目名称为day29_02_struts2Spring下的scr目录下的Struts.xml文件拷贝到新项目的scr目录下 在新项目的WebRoot---->WEB-INF目录下新建一个目录lib,用于存放jar包(Struts2和spring整合所需jar包) 将项目名称为day29_02_struts2Spring,WebRoot---->WEB-INF下的lib目录下的所有jar包拷贝到新项目对应的位置,同时将spring的配置文件appl…
一.关键步骤 1.创建Java Web项目 2.引入Struts2的依赖包,将依赖包拷贝到WEB-INF/lib下 * commons-logging-1.0.4.jar * freemarker-2.3.15.jar * ognl-2.7.3.jar * struts2-core-2.1.8.1.jar * xwork-core-2.1.6.jar * commons-fileupload-1.2.1.jar 3.在web.xml配置文件中,配置StrutsPrepareAndExecuteF…
二.搭建struts2的开发环境 下载地址:http://struts.apache.org 解压后的目录结构: apps:框架本身提供一些案例(学习) docs:框架本身提供的文档(指南和API).不保证100%正确 lib:框架需要的jar包及第三方的jar包(不要全拷贝) src:源码   搭建步骤: 新建一个JavaWeb工程 拷贝struts2运行所需的必要jar包.(方便办法:struts2发行包\apps\struts-blank.war,拷贝其中的lib下的所有jar) stru…
一. 最近在学习Struts2的一些知识,在使用Struts2搭建框架的时候,部署到服务器上的时候出现上面的问题: 三月 19, 2016 1:43:24 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.ser…
本文在于总结,深入研究有别人写的很好了,也没必要再去写,将在本文后面附上他们的文章地址: 一.struts2的执行过程: 二.struts2的配置文件struts.xml 下面是其三大部分include.constant.package的配置说明,骨架这样,做的时候参考API就行了: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Sof…
(二).Struts第二天 回顾: 问题: 1. Struts2的Action类是单例还是多例? Filter? Servlet? Listener? 2. 介绍struts2框架引入的相关jar包及作用? 3. Struts2 配置文件中,名称空间作用? 4. Struts2 执行流程 目标: 0. Action类的几种写法 1. Struts核心配置 * 常量配置 * 通配符/动态方法调用 * 全局视图.全局异常.Action配置各项的默认值 2. 拦截器 1. Action类的几种写法 1…
一.封装请求正文到对象中(重点) 1.1.静态参数封装 在struts.xml文件中,给动作类注入值,使用的是setter方法 1.2.动态参数封装 通过用户表单封装请求正文参数 1.2.1.动作类作为实体模型 也就是说动作和实体模型写在一起. 实体模型:entity.对应数据库中表的记录(类对应的是表的结构,而对象对应的是一条记录) 1.2.2.数据模型和动作类分开写 数据模型:User 动作类:Demo2Action 原理:当我们在动作类中的SetUser和getUser分别输出时 所以我们…
上一篇 Struts2框架的基本使用 我们限于篇幅,最后简单介绍了Action的配置问题,本篇接着介绍有关框架的一些其他基本用法,主要内容如下: Action的基本配置 result的基本配置 Struts的异常处理机制 Convention插件于"约定"的支持 一.Action的基本配置      上篇文章我们简单的看了Struts.xml中的package包元素的一些属性的使用情况,接下来我们看看Action的元素的一些属性及其使用情况.依然是上篇的Struts.xml文件. &l…
1.Structs2简介和Structs2开发环境搭建 一.Structs2简介: 1.什么是Struct2? 著名的SSH三大框架分别为:表现层(Structs).业务逻辑层(Spring),持久化层(Hibernate). Struct2是在WebWork2基础上发展而来的MVC框架,尽管Struct2与Structs在名字上很像,但代码编写风格上几乎是完全不一样的. Structs2比Structs更优秀,修复了Structs的许多Bug和缺点. 2.Struct2框架的优点? 1.Str…