码迷,mamicode.com
首页 > 编程语言 > 详细

Java自学手记——struts2

时间:2016-08-06 21:52:08      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

struts2框架
  struts2是一种基于MVC模式的框架,是在struts1的基础上融合了xwork的功能。
  struts2框架预处理了一些功能:
    >请求数据自动封装,
    >文件上传的功能
    >对国际化功能的简化
    >数据校验功能

使用struts2框架开发的流程:
  1.引入jar文件
    >commons-fileupload-1.2.2.jar 【文件上传相关包】
    >commons-io-2.0.1.jar
    >struts2-core-2.3.4.1.jar 【struts2核心功能包】
    >xwork-core-2.3.4.1.jar 【Xwork核心包】
    >ognl-3.0.5.jar 【Ognl表达式功能支持表】
    >commons-lang3-3.1.jar 【struts对java.lang包的扩展】
    >freemarker-2.3.19.jar 【struts的标签模板库jar文件】
    >javassist-3.11.0.GA.jar 【struts对字节码的处理相关jar】
  2.配置web.xml
    Tomcat启动时,会加载所有项目的web.xml,通过web.xml中引入过滤器,而struts的核心功能
    的初始化,是通过过滤器完成的
    <!--引入核心过滤器-->
    <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>
    StrutsPrepareAndExecuteFilter就是核心过滤器,位于struts2的核心功能包中,使用struts版本不同,核心过滤器类是不一样的
  3.配置struts.xml

struts2的执行流程
  1.服务器启动
    >加载web.xml
    >创建struts核心过滤器对象,执行filter-->init()
      ·struts-default.xml, 核心功能的初始化
      ·struts-plugin.xml, struts相关插件
      ·struts.xml 用户编写的配置文件
  2.用户访问
    >用户访问action,服务器根据路径名称,找对应的action配置,创建action对象
    >执行默认拦截器栈中定义的18个拦截器
    >执行action的业务处理方法

struts-default.xml详解
  1.位于struts2-core-2.3.jar包中,
  2.bean节点指定了struts在运行时候创建的对象类型
  3.指定struts-default包,用户写的struts.xml文件中package一定要继承此包,struts-default包定义了:
    >跳转的结果类型:dispatcher,redirect,redirectAction,stream
    >定义了所有拦截器,一共32个拦截器,为了拦截器引用方便,可以通过定义栈的方式引用拦截器,默认的栈中包含了初始化18个拦截器
    >默认执行的拦截器栈、默认执行的action

拦截器和过滤器比较:
  相似:功能相似
  区别: 过滤器,拦截器所有资源都可以; (/index.jsp/servlet/img/css/js)
     拦截器,只拦截action请求。
    拦截器是struts的概念,只能在struts中用。
    过滤器是servlet的概念,可以在struts项目、servlet项目用

    注意:拦截器什么时候执行,先执行Action类创建,还是先执行拦截器
    答:拦截器在访问时执行,先创建Action类对象,再按顺序执行18个拦截器,最后执行Action类的业务处理方法

Action开发
  Action开发有三种方式:
    1.继承ActionSupport类,如果用struts的数据校验功能,必须继承此类
    2.实现Action接口,重写execute方法
    3.不继承任何类,不实现任何接口

struts中路径匹配原则:
  localhost:访问到哪一台机器
  8080:找到Tomcat
  mystruts:找到项目名
  /user/a/b:查找是否有此名称空间,没有则向下
  /user/a:查找是否有此名称空间,没有则向下
  /user:查找是否有此名称空间,没有则向下
  /:查找是否有此名称空间,没有则报错
  例如:<action name="login" class="..." method="..."></action>,项目名称后面可以有/a/b这些无用的分层,只要最后为login以及名称空间正确照样能访问

struts中的常量
  >struts中的常量定义了默认访问后缀等配置,文件名为default.propertities
  >位于struts核心包中
  >能够在struts.xml中通过<constant name="key" value="value"></coonstant>修改默认常量配置

Java自学手记——struts2

标签:

原文地址:http://www.cnblogs.com/elecdog/p/5744861.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!