• Struts2概述、开发环境搭建


    一、概述

        Struts 2是在WebWork2基础发展而来的。和struts1一样同属于MVC框架。

              注意:struts 2和struts 1在代码风格上几乎不一样。

            Struts 2 相比Struts 1的优点:

    1、在软件设计上Struts 2 没有像Struts 1那样跟Servlet API 和 struts API 有着紧密的耦合。Struts 2的应用可以不依赖于Servlet API和Struts API 。struts2的这种设计属于无侵入式设计,而struts1却属于侵入式设计

    2、Struts 2 提供了拦截器,利用拦截器可以进行AOP编程。

    3、Struts 2 提供了类型转换器。我们可以把特殊的请求参数转换成需要的类型。在struts1中,如果我们要实现同样的功能,就必须向struts1的底层实现BeanUtil注册类型转换器才行。

    4、Struts 2 提供支持多种表现层技术,如:JSP 、 freeMarker、Velocity等。

    5、Struts 2 的输入校验可以指定方法进行校验。

    6、Struts 2 提供了全局范围、包范围和Action范围的国际化资源文件管理实现。

    二、Struts2体系结构

    1、Web浏览器请求一个资源。

    2、过滤器Dispatcher查找方法,确定适当的Action。

    3、拦截器自动对请求应用通用功能,如验证和文件上传操作。

    4、Action的execute方法通常用来存储和重新获得信息。

    5、结果被返回到浏览器。

    三、Myeclipse搭建Struts 2 开发环境

      

    1、  找到开发Struts 2的应用需要用到的jar包。拷到项目lib目录。

      a)  到http://struts.apache.org/download.cgi#struts221下载struts-2.5-all.zip,下载完后解压文件,开发struts2应用需要依赖的jar文件在解压目录的lib文件夹下。不同的应用需要的jar包是不同的。

      b)  开发struts2程序最少需要的jar:(一般是下载的该版本struts2 jar包的blank例子中的jar包  如下图解:

        Struts-core-2.x.x.jar : Struts 2框架的核心类库

        xwork-2.x.x.jar : XWork类库,Struts 2 在其上构建

        ognl-2.6.x.jar : 对象图导航语言(Object Graph Navigation Language),Struts 2 框架通过其读写对象的属性

        freemarker-2.3.x.jar : Struts 2 的UI标签的模版使用 Freemarker编写。

        commons-logging-1.1.x.jar : ASF出品的日志包。Struts2框架使用这个日志包来支持Log4J和JDK1.4+的日志记录

        commons-fileupload-1.2.1.jar : 文件上传组件,2.1.6版本后必须加入此文件

    2、  编写Struts 2的配置文件。

    • Struts2默认的配置文件为struts.xml,该文件需要存放在WEB-INF/classes下,开发阶段可放在src目录下。该文件的配置模板如下:(一般同上,在blank例子中copy,保持版本一致
      <?xml version=”1.0” encoding=”UTF-8”?>
        <!DOCTYPE struts PUBLIC
               "-//Apache Software Foundation//DTD Struts Configuration.3//EN"
               "http://struts.apache.org/dtds/struts-2.3.dtd">
       <struts>
       </struts>

     3、在web.xml中加入Struts 2 MVC启动框架配置。

    • 由于web应用是基于请求/响应架构的应用,所以不管哪个web mvc框架,都需要在web.xml中配置该框架的核心Servlet或Filter ,这样才阔以让该框架介入web应用中。
    • 在struts1.x中,struts框架是通过Servlet启动的。在struts2中,struts框架是通过Filter启动的。它在web.xml中的配置如下:
      <!-- 定义struts2的核心filter -->
      <filter>
              <filter-name>struts2</filter-name>
              <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class>
                    <!--自从struts2.1.3以后,下面的FilterDispatcher已经标注为过时
                    <filter-class>org. apache . struts2.dispatcher.FilterDispatcher</filter-class>> -->
      </filter>
      
      <!-- 让struts2的核心filter拦截所有请求 -->
      <filter-mapping>
              <filter-name>struts2</filter-name>
              <url-pattern>/*</url-pattern>
      </filter-mapping>

      在StrutsPrepareAndExecuteFilter的init()方法中将会读取类路径下默认的配置文件struts.xml完成初始化操作。

    注意:struts2读取到struts2.xml的内容后,以javabean形式存放在内存中,以后struts2对用户的每次请求处理将使用内存中的数据,而不是每次都读取struts.xml文件。

  • 相关阅读:
    Centos 安装字体库 以及解决confluence 旧文档数据的乱码
    设置Linux自启服务以及优先级
    Centos7下设置MySql自动启动
    Linux配置tomcat开机自启
    Linux安装JDK、tomcat
    CentOS7下安装mysql5.1 或升级到5.7 以及小问题的解决方案
    安装虚拟机,镜像文件下载链接
    1.键盘消失,阻止键盘弹出
    5. react父子组件
    CSS- 一些少用的
  • 原文地址:https://www.cnblogs.com/drby/p/5524266.html
Copyright © 2020-2023  润新知