您的位置:首页 > 编程语言 > Java开发

struts2--概述

2016-07-13 16:39 417 查看

struts2框架简介:
框架:
程序的半成品(也就是完成了一部分功能),它可以提高层序的开发效率。

主流的框架:ssh、ssi

概述:
struts2是应用在javaee三层(web层、业务逻辑层、持久化层)结构中web层的框架,它本身就符合mvc思想(****);
之后学习的开发中业务逻辑层由spring代替,持久化层由Hibernate来代替;struts2是在struts1和webwork的基础上发展而来的。

web层框架的特点(*****):
web层框架都有前端控制器(过滤器),前端控制器让不同的请求到不同的方法里面。

1、jar包:
可以根据别人写好的项目中的jar包进行导入:struts-2.3.15.3-all\struts-2.3.15.3\apps-->struts2-blank.war中的lib中的所有jar包直接复制到项目中lib文件夹中。
2、配置过滤器:
struts-2.3.15.3-all\struts-2.3.15.3\apps\struts2-blank\WEB-INF-->web.xml进行copy
 <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、配置action的访问路径:实际上就是配置struts.xml

struts2运行流程:
请求 ---- 到达StrutsPrepareAndExecuteFilter 核心控制器 ----- Interceptors 拦截器(实现代码功能 ),拦截到对应的action ----- Action 的execute(操action类使用反射得到action的class,得到后通过getMethod()方法得到execute()方法,让invoke()执行得到返回值与result进行匹配) --- 结果页面 Result
* 拦截器 在 struts-default.xml定义
* 执行拦截器 是 defaultStack 中引用拦截器

dtd添加:
1、断网情况下2、在程序的struts2-core-2.3.15.3.jar包下有一个struts-2.3.dtd文件,将其复制到一个文件夹。然后进行Catalog的配置。
注意:
key type:选择schema location
key:找到相对应的约束命名空间复制URL地址。
如果有问题,可以在Cache中remove All缓存的约束配置。

 

struts2的配置文件的加载顺序:
请求先经过过滤器,在过滤器中要先经过拦截器。
            init_DefaultProperties(); // [1]   ----------  org/apache/struts2/default.properties
            init_TraditionalXmlConfigurations(); // [2]  --- struts-default.xml(配置拦截器),struts-plugin.xml(插件),struts.xml(配置action)(**)都可以修改struts2的常量
            init_LegacyStrutsProperties(); // [3] --- 在src下创建struts.properties ,可以修改struts2的常量。(**)
            init_CustomConfigurationProviders(); // [5]  ----- 自定义配置提供
            init_FilterInitParameters() ; // [6] ----- web.xml (**)
            init_AliasStandardObjects() ; // [7] ---- Bean加载
在struts.xml、struts.properties、web.xml中如果同时修改了同一个struts常量那么最终以web.xml中的修改为准。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: