电影格式-如何升级ios6
![struts2 下载](/uploads/image/0092.jpg)
2023年4月5日发(作者:微软考试)
Struts2---简介
框架概述
框架的意义与作⽤:
所谓框架,就是把⼀些繁琐的重复性代码封装起来,使程序员在编码中把更多的经历放到业务需求的分析和理解上⾯。
特点:封装了很多细节,程序员在使⽤的时候会⾮常简单。
三⼤框架(现在web层⽐较流⾏的是springMVC,dao是mybatis):
Struts2,Hibernate3,Spring3
学好框架:
由于框架中细节很多,知识点⽐较零散,课后总结和做好笔记就变得尤为重要。
关于三层架构
控制器:MVC中的控制器
MVC回顾
M:Model模型,封装数据。javabean
V:view视图,展⽰界⾯。jsp
C:Controller控制器,控制程序流程。Servlet
Servlet和Filter
Servlet:
Filter:
总结:
Servlet能做的事情,过滤器也可以做到。并且过滤器⽐Servlet还多了⼀个放⾏的功能,因此过滤器⽐Servlet功能更为强⼤。
结论就是:过滤器同样也适合做控制器。
Struts2简介
Struts2概述
Struts2是Apache发⾏的MVC开源框架。注意:它只是表现层(MVC)框架。
Struts2的来历
Struts1:也是apache开发的⼀套mvc的开源框架。在2005年之前⾮常流⾏。
弊端:Struts1的核⼼控制器就是⼀个Servlet。随着使⽤者的增多,弊端开始出现。
Struts2:在longlongago,有⼀个设计超前的框架XWork,后来推出了XWork1和WebWork2。Struts2就是apache和OpenSymphony组织
合并开发出来。
⾥⾯包含了WebWork2的核⼼及Struts的⼀些特性和功能。除此之外,和Struts1没有任何关系了。
六、搭建Struts2开发环境
下载Struts2开发包
开发包⽬录结构
搭建开发环境
拷贝必要jar包到classpath中
拷贝哪些jar包?
找到Struts2⾃带的例⼦中,struts-blank的war包,在它的WEB-INFlib⽬录下的jar包全拷贝。
建⽴Struts2的配置⽂件
atthetopofclasspath(在最顶层的构建路径),建⽴⼀个默认名称为的配置⽂件。
注意:
1.⽂件名⼤⼩写。
2.创建位置。
3.该名称允许修改,但是我们⼀般不改。
配置控制器
a、配置位置:在中
b、配置什么:struts2已经写好了的⼀个过滤器。
结论:
struts2⽐struts1优秀的⼀个体现就是,它⽤了更为强⼤的过滤器作为控制器了。
验证是否成功
部署应⽤,启动Tomcat,不报错表⽰搭建成功。
Struts2的执⾏流程:
Struts2的配置⽂件
加载时机:
当应⽤被tomcat加载的时候,struts2的配置⽂件就已经被加载过了。
加载顺序
顺
序
配置⽂件名所在位置说明
tiesstruts2-core-
apachestruts2
不能
修改
不能
修改
在struts2提供的插件jar包中不能
修改
我们的应⽤中我们
修改
的:
推荐
ties我们的应⽤中我们
修改
的
我们的应⽤中我们
修改
的,
可以
给过
滤器
配置
参数
注意:
1、Struts2提供了两种配置的⽅式。⼀种是key=value的⽅式,即使⽤.properties⽂件。另⼀种是xml⽂件配置。我们推荐使⽤xml⽂件(它能
描述层级关系)。
2、当多个配置⽂件中,有相同的参数,后⾯的会把前⾯的值给覆盖了。
Struts2框架提供的常量
常⽤的常量
常量定义在了ties配置⽂件中,体现形式都是key=value。所有的struts2应⽤都会⽤到这些常量。
常⽤的:
常量名常量值说明
ngUTF-8应⽤中使⽤
的编码
rename和spring框架
整合有关
jakarta指定⽂件上
传⽤的组件
e2097152⽂件上传总
⽂件⼤⼩限
制:2M
ionaction,,能进
⼊Struts2框
架内部
的url地址后
缀名。多个
值⽤逗号分
隔
efalse是否是开发
模式。开发
模式:改了
配置⽂件,
不需要重
启。输出更
多的错误信
息。开发阶
段建议
为true。
html页⾯展⽰⽤
的主题
xml配置⽂件的主要元素
package元素
作⽤:
在struts2的配置⽂件中引⼊了⾯向对象思想,使⽤了分包管理。易于管理动作类。便于模块化开发动作类。
属性:
name:包的名称。必须写。且必须唯⼀。
extends:⼀般情况下需要继承struts-default包,但不是必须的。不过如果不继承的话,将⽆法使⽤struts2提供的核⼼功能。
中定义着struts-default这个包。⽽是在我们的加载之前加载。
abstract:把包声明为抽象包,抽象包就是⽤来被继承的。只要是没有
namespace:名称空间。
名称空间+动作名称=访问路径
packege中的namespace
namespace的默认值:
a.不写该属性
b.写了该属性,取值是⼀个"".
注意:默认值不是/
动作类的搜索顺序:
先找名称空间,再找动作名称。
action元素
作⽤:
配置动作⽤的。
属性:
name:动作名称
class:动作类全名。默认的动作类是:Support
是在中定义的
要想替换默认动作类:
在应⽤的中,package中加⼊:
method:动作类中的⽅法名称。默认是publicStringexecute(){}
要求:
的
2.返回值必须是String
3.没有参数
动作类
a.⽅式⼀:动作类就是⼀个POJO,⾮常简单的javabean。
b.⽅式⼆:动作类实现接⼝。
常量:给动作⽅法返回值⽤的。⽤常量可以使你的应⽤规范和统⼀。
常量变量名对应的值说明
SUCCESSsuccess动作⽅法执⾏⼀切OK
ERRORerror动作⽅法执⾏时遇到了异常
INPUTinput回显
LOGINlogin⼀般转向登陆页⾯
NONEnone不转向任何的视图
c.⽅式三:动作类继承Support推荐使⽤
结果类型视图(逻辑结果视图)
前奏:该部分内容指的就是struts配置⽂件中的result元素的使⽤
result元素
作⽤:
为动作指定结果视图
属性:
name:逻辑视图的名称,对应着动作⽅法的返回值。默认值是success。
type:结果类型,指的就是⽤什么⽅式转到定义的页⾯。默认是dispatcher。
result元素中type的取值
type属性的取值在中定义着。
常⽤结果类型介绍:
dispatcher:(默认值)
使⽤请求转发,转向⼀个页⾯。
redirect:
使⽤重定向,转向⼀个页⾯。
redirectAction:注意:使⽤的是重定向。
a.重定向到另⼀个相同名称空间的动作。
result元素中param⼦元素
在转发或者重定向到不同包下的动作时,都⽤到了result元素的⼦元素param。
param元素的作⽤:依赖注⼊(DependenceInjection)思想
我们通过中的resultTypes元素中配置可以看出,每个结果类型视图其实都是靠⼀个类来实现的。⽽param元素就是将配置
的参数,注⼊到该类中。
调⽤的是对应类的setter⽅法进⾏注⼊的。
例如:redirectAction结果视图
该类中肯定会有对actionName和namespace属性的注⼊⽅法(setter⽅法)。
全局视图和局部视图
局部视图
只能当前动作使⽤
全局视图
所有动作都可以使⽤
注意:优先级问题,先局部后全局。
不分⽂件开发可能产⽣的问题
就类似于我们在写java类时,所有代码都写在⼀个类⾥,甚⾄写在⼀个⽅法⾥。
当3个⼈都checkout了⽂件时,第⼀个⼈提交了,后⾯的⼈在没有更新就提交时,第⼀个⼈写的可能就⽩写了。
分⽂件编写Struts2的配置⽂件
更多推荐
struts2 下载
发布评论