zoukankan      html  css  js  c++  java
  • Struts2入门1

    Struts2的概述:

      Struts2是应用在Javaee三层结构中的web层。Struts2是在Struts1和webwork的基础之上发展的全新的框架。在没有使用Struts2之前,进行web层的操作主要是通过Servlrt类来进行实现,而每一个功能对应一个Servlet。这种方式实现有一个不好的地方,就是如果在你的功能有很多的时候,那么对应的Servlet也相对会很多,这样对程序的后期维护是很不好的。在Javaee阶段,传智播客老师教了一种解决的方案就是对HttpServlet进行再次的封装为一个BaseServlet(通过反射来进行封装:主要是通过在页面传参method=...,在BaseServlet中获取到method的参数,在通过反射来调用对应的方法,而我们只需要在写的Servlet中继承封装好的BaseServlet的话,就可以在一个Servlet中写多个方法),这种方式实现相对于一个功能一个Servlet而言就稍微的高端一点,同样这种方式还是有不足的地方,例如,在每次写Servlet的时候,均需要继承自封装好的BaseServlet。这时候,有一个更加好的方式实现,就是Struts2框架。下面通过图片描述Strut2和Servlet的区别:

      Struts2:

      

      Servlet:

      

     

    Struts2的目录结构:

     

     使用Struts2的步骤:

      1. 创建Web项目,导入jar包

         对于Struts2的jar包,并不是将lib目录下的所有jar包导入,可以到apps文件夹下找到对应的示例程序,选择这个即可,用压缩软件打开,将其中的jar包复制到web项目下。如下图:

                      

     

      2. 创建Action

        在以前的Servlet中,每次访问Servlet时候,均会执行service()方法,而在使用Struts2的时候,创建Action类,每次访问的Action的时候,执行的是Struts2底层封装的execute()方法。

       

     

      3.  配置Action类的访问路径,也就是Struts的核心配置文件。

        在以前的Servlet中,如果要找到对应的Servlet,需要对Servlet进行路径的配置。同样对于Struts2的Action类,也需要进行Action的配置。Struts2的配置需要在Struts2的核心配置文件中进行配置,因此首先需要创建Struts2的核心配置文件:,对于这个struts2的核心配置文件和Hibernate的核心配置文件一样,有两个要求:第一要求struts2的核心配置文件的位置,必须在src根目录下,第二要求struts2的配置文件的文件名必须为struts.xml。如下图:

      

       由于一般的xml文件,均具有约束文件,所以在创建struts.xml文件的时候,还需要给struts.xml文件引入约束。struts的详细配置,在下面介绍;引入约束如下:

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

      

      4. 配置过滤器

        在此博文开篇的部分图中,看到,对于Struts2的执行流程是必须先经过过滤器的。因此要使Struts2正确的运行,那么还需要在web.xml文件中配置Struts2的过滤器,此过滤器的配置,可以在Struts2提供的示例程序中找到。具体配置代码如下(只需要将下面的配置代码,放到项目的web.xml文件中即可):

    1     <filter>
    2         <filter-name>struts2</filter-name>
    3         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    4     </filter>
    5 
    6     <filter-mapping>
    7         <filter-name>struts2</filter-name>
    8         <url-pattern>/*</url-pattern>
    9     </filter-mapping>
    StrutsPrepareAndExecuteFilter类是Struts2的过滤器类,他实现了Filter接口

     

    Struts2的执行过程:

     

     

  • 相关阅读:
    微软外服 AlI In One
    js 循环多次和循环一次的时间的性能对比 All In One
    vue inject All In One
    Excel 表格数据倒置 All In One
    SVG tickets All In One
    OH MY ZSH All In One
    js array for loop performance compare All In One
    mac terminal show You have new mail All In one
    新闻视频 26 制作母版页
    转自牛腩 母版页和相对路径
  • 原文地址:https://www.cnblogs.com/geore/p/7517282.html
Copyright © 2011-2022 走看看