struts2笔记 之Struts的配置和其配置文件基本语法

来源:互联网 发布:金相自动分析软件 编辑:程序博客网 时间:2024/05/16 04:11
Struts2 strust2导包commons-beautils           [beanutils工具包]commons-filupload.ajr       [文件上传]commons-io.jar  commons-lang         [struts2对java.lang.*类的支持]freemarker.jar        [视图显示技术]javassit              [struts2对字节码运算的支持]ognl.jar             [struts2对ognl表达式的支持]        struts2-core.jar      [ struts2的核心包 ]        xwork-core.jar      [webwork框架的支持,struts2的前身就是webwork(对webwork的封装)]Struts2配置:  即在WebRoot\WEB-INF\web.xml配置全局过滤器StrutsPrepareAndExecuteFilter<!--  配置启动strut2的全局过滤器 --><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>
struts2框架的作用strurs2是基于MVC开发模型的web层框架。struts1也是MVC开发模式的框架。struts2并不是struts1的升级版。struts2是基于webwork的升级版。struts2=webwork+sturts1
 Struts2的执行过程项目启动:1)创建核心过滤器StrutsPrepareAndExecuteFilter对象2)执行核心过滤器的init方法读取了依次以下的配置:struts-default.xml      [struts2框架的默认配置文件(不需要自定修改)]struts-plugin.xml       [struts2的插件配置文件]struts.xml            [我们写的业务配置文件(包含配置的Action)]访问资源:3) 在内存中查询对应的Action配置,得到class内容,创建Action对象。4)读取Action配置的method内容,执行Action对象对应的方法。
struts-default.xml文件解析声明struts2框架运行过程中使用到的一些对象:<bean class="com.opensymphony.xwork2.ObjectFactory" name="xwork" />默认包,包名叫struts-default(我们自己写的package必须继承这个默认包,只有继承了这个默认包才可以使用该默认包下的功能)<package name="struts-default" abstract="true">跳转类型result-type 申明,目前共10种 :<result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>拦截器声明(Interceptor)struts2默认的拦截器(32个): 完成strutrs2的核心功能。(请求封装,文件上传,国际化..)拦截器(Intercptor)  vs   过滤器(Filter)过滤器: 可以过滤任何类型的请求(html、servlet、jsp)和响应。加入通用的代码逻辑。拦截器: 是sturts2的特有功能。只能过滤Action!!在执行Action的时候加入通用的代码。拦截器栈声明 (<interceptor-stack name="basicStack">)默认拦截器:<interceptor-stack name="defaultStack">    (18个拦截器)默认包当前使用的拦截器:<default-interceptor-ref name="defaultStack"/>我们写的包(package)就是继承struts-default默认包的,那么就继承了默认的18个拦截器当前默认包下的默认Action:<default-class-ref class="com.opensymphony.xwork2.ActionSupport" />
struts.xml文件详解:包(package),用于管理Action,一般可以按模块划分包:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><package name="user" extends="struts-default" namespace="/" abstract="false"><action name="login1" class="com.example.test.LoginAction"><result name="success" type="redirectAction">book</result></action><action name="login2" class="com.example.test.LoginAction" method="login2"><result name="login" type="dispatcher">/login2.jsp</result></action></package></struts>package: 代表一个包。管理action配置。在用一个包下面不能有同名的action。package的属性:name: 包名.在一个项目中不能出现同名的包。extends:  继承。我们开发的包就必须继承struts-default包。namespace:  名称空间。区分不同的包的访问路径。默认值  “/”     abstract: 是否抽象。是抽象包,不能含有action.抽象包中用来定义拦截器,公共视图,不做具体的业务。action配置:  name:  action的名称。用于访问该Action的路径 ,不能重复  class:  Action业务对象的类名。一定是全名(包名+类名)  method: 执行的业务方法。不写默认值 executeresult配置:name: 处理方法的返回值,          type: 跳转的类型          redirect: 重定向          dispatcher: 转发(默认值)          redirectAction: 重定向到Action          chain:  转发到Action。可以在不同Action中通过request共享数据          stream: 用在下载文件的时候。

阅读全文
0 0
原创粉丝点击