Struts2学习笔记(一)
来源:互联网 发布:日剧知乎 编辑:程序博客网 时间:2024/06/05 18:58
1. 准备工作
(1)从struts2官网上下载struts2源码。
apps目录:struts2自带的例子程序
docs目录:官方文档。
lib 目录:存放所有jar文件。
Src 目录:源文件存放地(2)六个基本包
struts2-core-2.1.6.jar :开发的核心类库
freemarker-2.3.13.jar :struts2的UI标签的模板使用freemarker编写
commons-logging-1.0.4.jar :日志包
ognl-2.6.11.jar :对象图导航语言,通过它来读写对象属性
xwork-2.1.2.jar :xwork类库,struts2在其上进行构建
commons-fileupload-1.2.1.jar:文件上传组件,2.1.6版本后必须加入此jar包
(3)几个重要的xml文件
web.xml文件
主要完成对StrutsPrepareAndE%xecuteFilter的配置(在以前的版本中是对FilterDispatcher配置,新版本同样支持用FilterDispatcher配置),它的实质是一个过滤器,它负责初始化整个Struts框架并且处理所有的请求。这个过滤器可以包括一些初始化参数,有的参数指定了要加载哪些额外的xml配置文件,还有的会影响struts框架的行为。除了StrutsPrepareAndExecuteFilter外,Struts还提供了一个ActionContexCleanUp类,它的主要任务是当有其它一些过滤器要访问一个初始化好了的struts框架的时候,负责处理一些特殊的清除任务。
struts.xml文件
框架的核心配置文件就是这个默认的str%uts.xml文件,在这个默认的配置文件里面我们可以根据需要再包括其它一些配置文件。在通常的应用开发中,我们可能想为每个不同的模块单独配置一个struts.xml文件,这样也利于管理和维护。这也是我们要配置的主要文件
2 配置struct2
总结下来有三步:
(1).导入相关jar包
其实只需要导入最小的包就可以了,在刚刚解压的struts2源码的压缩包内找到如下路径:
(2).复制struts.xml文件到项目中,放在src目录下
(3)在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>
完成以上的步骤,就能写程序啦
3.struct.xml文件中的一些<>
(1)<package>
包的意思,struts2使用它来组织模块,
他有一个name属性,用于被其他包引用
还有一个extends属性:当前继承自哪个包,大多数继承struts-default
例如:
<package name="helloworld" extends="struts-default"> <action name="product-input"> <result>/input.jsp</result> </action> <action name="product-save" class="com.struts2test.Product" method="save"> <result name="details">/details.jsp</result> </action> </package>
(2)<action>
struts2中的请求就是一个action
name:对应一个struts2的请求的名字(不包含扩展名.action)
例如:
<action name="product-input"> <result>/input.jsp</result> </action> <action name="product-save" class="com.struts2test.Product" method="save"> <result name="details">/details.jsp</result> </action>
(3)<result>
例如:
<result name="details">/details.jsp</result>
表示结果
- Struts2学习笔记(一)
- struts2学习笔记(一)
- Struts2学习笔记(一)
- struts2 学习笔记(一)
- Struts2学习笔记(一)
- Struts2 学习笔记(一)
- struts2-学习笔记(一)
- struts2学习笔记(一)
- struts2学习笔记(一)
- Struts2学习笔记(一)
- Struts2学习笔记(一)
- Struts2学习笔记(一)
- struts2学习笔记(一)
- Struts2学习笔记(一)搭建struts2
- struts2学习笔记(一)
- Struts2 学习笔记一
- struts2学习笔记(一)
- struts2学习笔记一
- NYoj47 过河问题
- wait_queue_head_t和wait_queue_t 联系
- android:gravity和android:layout_gravity的区别
- PHP源代码生成 main/config.w32.h
- HDOJ 2152 Fruit(母函数模板题)
- Struts2学习笔记(一)
- iOS 9 适配系列教程
- 各种优化方法总结比较(sgd/momentum/Nesterov/adagrad/adadelta)
- 食物中毒
- FFMpeg调通PC端查看Android摄像头数据
- LeetCode #104 Maximum Depth of Binary Tree
- TabLayout+viewpager构成主流软件界面
- MSYS的下载与安装
- 三万多人的阿里如何做好研发管理?秘密就在阿里持续交付