搭建一个Struts2项目的开发环境,你知道多少呢?
搭建一个Struts2项目的开发环境时,我们一般需要做以下几个步骤的工作:
1、找到开发Struts2应用需要使用到的jar文件.
2、编写Struts2的配置文件.
3、在web.xml中加入Struts2 MVC框架启动配置.
大家可以到http://struts.apache.org下载struts-2.x.x-all.zip。下载完后解压文件,开发struts2应用需要依赖的jar文件在解压目录的lib文件夹下。不同的应用需要的JAR包是不同的。下面给出了开发Struts2程序最少需要的JAR。
1、struts2-core-2.x.x.jar :Struts 2框架的核心类库
2、xwork-2.x.x.jar :XWork类库,Struts 2在其上构建
3、ognl-2.x.x.jar :对象图导航语言(Object Graph Navigation Language),struts2框架通过其读写对象的属性
4、freemarker-2.3.x.jar :Struts 2的UI标签的模板使用FreeMarker编写
5、commons-logging-1.1.x.jar :ASF出品的日志包,Struts 2框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录。
6、commons-fileupload-1.2.1.jar 文件上传组件,2.1.6版本后必须加入此文件
在Struts2中,action中的getXXX()只在服务器启动时执行一次,一刷新页面显示的数据内容
全都没了,这种问题的解决办法是:
在web.xml中配置struts2.0时,
<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>
把/*改成*.ation就OK了
一、Struts2配置文件
Struts2相关的配置文件有web.xml,struts.xml,struts.properties,struts-default.xml,velocity.properties,struts-default.vm。其中web.xml,struts.xml是必须的,其它的配置文件可选择。它们在web应用中的功能如下:
web.xml:包含所有必须的框架组件的web部署描述符。
Struts.xml:配置包含result/view类型、action映射、拦截器等的Struts2的主要配置文件。
Struts.properties:配置struts2的框架属性。
Struts-default.xml:在文件在struts-action-x.x.jar中,该文件是应该被包含在
struts.xml中的缺省配置。
Welocity.properties:重写了velocity的配置文件。
Struts-default.vm:相对于velocity的缺省配置。
二、Struts2配置元素
Struts2核心的配置文件是缺省的struts.xml。
必要的时候,缺省的配置文件可以包含其它的配置文件;struts文件可以放入jar中,并自动插入应用程序,这样每个模块可以包含自己的配置文件并自动配置。在Freemarker和Velocity模块中,模板也能从classpath中加载,所以整个模块可以作为一个简单的jar文件被包含。Struts.xml配置文件可以包含Interceptor、Action类和Results。
Struts.xml配置元素说明:
1、Packages
Packages:packages把actions、results、results types、interceptors和interceptor-stacks组装到一个逻辑单元中,从概念上讲,packages就像一个对象,可以被其它子包从写,而且可以拥有自己独立的部分。Name属性是packages的必填元素,它作为一个关键字被后边的包引用;extends元素是可选的,它允许包扩展一个和多个前边定义的包。注意,struts.xml文件是至上而下处理的,所有被扩展的包,需要在扩展包前定义。Abstract元素是可选的,它可以申明一个不包含actions的配置文件。
2、Namespace
Namespace元素把actions细分到逻辑模块,每一个namespace都有自己的前缀(prefix),namespace避免了action之间的名字冲突,当前缀出现在URI中时,这些标签都是名字空间感知的(“namespace aware”),所以这些namespace prefix不必嵌入到表单或连接中。Default的namespace是一个空字符串“”,如果在指定的配置文件中,没有找到action,缺省的namespace也会被查找。 Local/global策略允许应用程序在action “extends”元素层次结构之外,有全局的action配置。缺省的namespace也可以不在package中申明。Namespace prefix可以注册为java的申明式安全,以确保授权的用户才能访问namespace的资源。Root namespace(“/”)也被支持,root就是当直接请求context path的时候的namespace。
[备注:相信学过struts1的人都知道struts1的path是怎么回事。而namespace的用法就像struts1中的path一样,只不过它在package中什么路径,而在action中申明action名子罢了]
3、Include
Include元素使得框架能应用“divide and conquer”来配置文件。被include的每个配置文件必须和struts.xml有一样的格式,一个大的项目可以采用这样方式来组织程序模块。Include元素也可以和package交替出现,框架将按照顺序加载配置文件。
4、Interceptor configuration
Interceptor允许应用程序在Action方法执行前后定义执行代码,Interceptor在应用程序开发中十分重要,对于Interceptor有许多用例,如validation, property population, security, logging, 和profiling。Interceptor被定义为一个Java类,Interceptor也可以组装成Interceptor-stack,他们将按照定义的顺序执行。在struts-default.xml中定义了一些缺省的Interceptor-stack,以便框架能很好地运行。
5、Action
Action是框架的“工作单元”。Action可以指定一个Interceptor-stack、一序列的return type和一序列的异常处理,但只有name属性是必须的。
分享到:
相关推荐
struts2开发环境的搭建,巨详细,三种方法让你快速搭建struts2的开发环境。
传智播客struts2.1视频教程_介绍struts2及struts2开发环境的搭建
struts2.0开发环境的搭建及HelloWorld的演示
struts2+hibernate搭建起来的开发环境。
描述Struts2所需的开发环境及其搭建步骤
传智播客struts2.1_搭建Struts2开发环境
Spring+struts2+mybatis项目开发环境搭建
truts2及struts2开发环境的搭建
struts2 总结入门学习文档 教你如何白手起家搭建Struts2开发环境、编写第一个struts2应用helloworld、属性介绍、接口、拦截器介绍、struts2标签等。93页
搭建基础Struts2开发环境的必需jar包,如需完整的文件请移步官网下载
第一步骤所需的jar文件 博文链接:https://457341083.iteye.com/blog/1881331
网上有说需要这个又有说不需要这个,需要根据实际情况来定,实在不行就自己一个一个加,先从struts的core包开始,如果缺少jar包启动的时候就会报错,缺哪个加哪个。 2、打开MyEclipse(我用的是6.5)新建Web工程 ...
Struts2+Spring+Hibernate开发环境搭建图解 Struts2+Spring+Hibernate开发环境搭建图解 Struts2+Spring+Hibernate开发环境搭建图解
Struts2 开发环境的搭建。这是一个很好的有助于初学者入门。
01介绍struts2及struts2开发环境的搭建.zip.001 由于上传限制分2部分上传
自学传智博客struts2-黎活明-源码-第01讲_01介绍struts2及struts2开发环境的搭建_DemoStruts2.rar; 笔记地址:http://www.guloulou.com/?p=1253
虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度...
01介绍struts2及struts2开发环境的搭建.zip.002
Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...