一、概述

  Struts2是基于MVC设计模式的web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts作为控制器(Controller)来建立模型与视图之间的数据交互。Struts2是Struts1的下一代产品,是在WebWork技术基础上进行合并的全新的框架,其全新的体系结构与Struts1差距很大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全分离,所以Struts2可以理解为WebWork的更新产品。虽然从Struts1到Struts2有着巨大的变化,但是相对于WebWork,Struts2的变化很小。

 

二、环境搭建

  首先我们需要相关jar包

Struts2的开发包下载地址:https//struts.apache.org/  下载完开发包后进行解压所需jar包就在解压后的lib包下一下为Struts2所需的jar包

三、Action的创建与配置

  1. 创建Action的三种方式:

          1).直接创建类,在这个类中编写一个public String execute()方法,该方法没有任何参数

          2).创建一个类实现Action接口并重写execute()方法

          3).创建一个类基层ActionSupport类

  2.配置sruts2的访问路径

        1)struts2核心配置文件:核心配置文件的名称和位置都是固定的 在src下 名称为struts.xml(可以分模块引入)

        • 引入dtd约束:

          <!DOCTYPE struts PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
          "http://struts.apache.org/dtds/struts-2.3.dtd">     

        • <struts>

        • <constant name = "struts.i18n.encoding" value = "UTF-8"></constant>
        • <package name = "helloword" extends = "struts-default" namespace = "/">

              <action name = "hello" class = "带有包名的action类">

               <result name = "方法返回值">/helloword.jsp</result>

               </action>

            </package>

            </struts>

             2).配置struts过滤器(在web.xml中)

            <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).分模块开发的配置文件:单独写配置文件,然后把配置文件引入到核心配置文件中在引入helloword.xml文件

            <include file = "cn/.路径./helloword.xml"></include>(在struts标签下)

三、Struts2的执行过程

四、配置文件的解释

         1.package标签:类似于代码包,区别不同的action,要配置acion必须先配置package标签。

                 name属性:它的值跟功能没有关系,在一个配置文件中可以写多个package,但是name值不能相同。

                 extends属性:该属性值固定为struts-default   有了这个属性之后再package里面配置的action类才具有功能。

                 namespace属性:该属性值与action标签里面的name值一起组成访问路径。默认值为“/”

         2.action标签: 

                name属性:配置action的访问路径,与package中的name一起组成访问路径,三它的值不不能与娶其他action中的相同。               

                class属性:所需配置action类的全路径g

                method属性:比如在action默认执行的方法是execute,如果想让他执行其他方法可在此配置,可配置多个。

         3.result标签:该标签里面的值为访问路径,执行action时会访问该路径下的页面

                name属性:和方法的返回值一样

                type属性:配置如何到返回路径中(转发or重定向)

          4.constant标签:修改struts2的默认属性值用的 一般不用修改。还有两种修改的方法分别是在src下配置一个struts.propeties文件进行修改和在web.xml文件中进行配置

最新文章

  1. Angularjs Controller间通信的几种方法
  2. Javascript快速入门(下篇)
  3. bzoj2938: [Poi2000]病毒
  4. 使用Nginx负载均衡搭建高性能.NETweb应用程序二
  5. 了解 hadoop
  6. Memcached启停脚本小结
  7. netty启动过程
  8. python程序不支持中文
  9. Webpact打包React后端Node+Express
  10. 老男孩Python全栈开发(92天全)视频教程 自学笔记05
  11. eclipse 中启动Tomcat超时了错误
  12. 简单文本悬浮div提示效果
  13. 工作中常用的 Linux 命令
  14. mysql 开源 ~ canal+otter系列(2)
  15. node-log4js3.0.6配置
  16. MFC CStdioFile
  17. Window下通过charles代理抓取iphone/android手机Https请求乱码问题处理
  18. LeetCode - Subtree of Another Tree
  19. centos git server 的搭建
  20. 微信小程序获取当前地址以及选择地址详解 地点标记

热门文章

  1. 1.Java关键字和保留字
  2. python3 爬虫开发 学习总结一
  3. java.lnag.Throwable详细解读
  4. 【ASP.NET Core】如何隐藏响应头中的 “Kestrel”
  5. 关于input内容改变的触发时间
  6. JavaScript(第十九天)【DOM进阶】
  7. 105&amp;250-高级软件工程2017第3次作业
  8. centos7 下通过nginx+uwsgi部署django应用
  9. python的Collections 模块
  10. selenium 爬虫