Struts2框架入门之环境配置

1.概述:
(1)什么是Struts2的框架
* Struts2是Struts1的下一代产品,是在 struts1和WebWork的技术基础上进行了合并的全新的Struts 2框架。
* Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。

(2) 常见的Web层的框架
* Struts1
* Struts2
* Webwork
* SpringMVC(潮流框架)

(3)Web层框架的特点
* 都是一个特点,前端控制器模式
* 记住:前端控制器(核心的控制器)
* Struts2框架前端的控制器就是过滤器
这里写图片描述


2.接下来,进行Struts2项目的环境配置;首先,必须先导入开发所需jar包;网盘链接:https://pan.baidu.com/s/15Wk_nTBogCMrZXIhWZAWeA 密码:brni
(如果链接失效请留言,我会及时更新)
解压后可以看到其中的目录如下:
这里写图片描述
目录说明如下:

* apps  -- Struts2框架提供了一些应用
* libs  -- Struts2框架开发的jar包
* docs  -- Struts2框架开发文档
* src   -- Struts2框架源码

接下来便是在工程中引入jar包了; Struts2框架的开发jar包非常多,但是不是所有都是必须要引入的,有一些必须要导入的jar包,这些jar包可以从Struts2框架提供的应用中找到。大家可以打开apps目录,然后找到struts2-blank.war应用。war包和zip包的压缩格式是一样的,所以可以自己修改后缀名war为zip,解压。 找到解压后的应用,打开WEB-INF/lib目录下所有的jar包。复制到项目工程中的WEB-INF/lib下,就可以了。
这里写图片描述


3.前面提及,Struts2的特点是前端控制器模式;因此需要先配置Struts2的前端控制器,注意:这一步是必须要做的操作,这是Struts2核心的控制器。Struts2的前端控制器就是一个过滤器,那么过滤器相关知识咱们都学习过,需要在web.xml中进行配置。
前端控制器的类的路径和名称:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
web.xml文件具体配置如下:

  <!-- 配置Struts2 核心控制器 (过滤器)-->
  <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>

4.此处编写一个Action类用于测试;Action类是动作类,是Struts2处理请求,封装数据,响应页面的核心控制器。需要自己编写。

    package com.action;
        public String sayHello(){
        System.out.println("Hello Struts2!!");
        return null;
    }

5.然后便是Struts2核心配置文件的编写了。注意:配置文件名称是struts.xml(名称必须是struts.xml);在src下引入struts.xml配置文件(配置文件的路径必须是在src的目录下);具体配置如下

 <?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="default" namespace="/" extends="struts-default">
            <action name="hello" class="com.action" method="sayHello">
            </action>
            <!-- 配置跳转页面 -->
            <result name="success">/result.jsp</result>
            <result name="error">/index.jsp</result>
        </package>
    </struts>

6.最后,便是测试了;前端表单提交方式

<form name="form1" action="/Struts2Test/hello.action" method="post">

超链接方式:

    <a href="${ pageContext.request.contextPath }/hello.action">潜力股的博客</a>

7.最后的最后,让我们来深刻理解一波Struts2的执行流程。。。。。。在前端页面,当我们点击超链接时,请求就会发送到服务器端;首先经过Struts2的核心过滤器(StrutsPrepareAndExecuteFilter),也即是一系列的拦截器,拦截器完成后,会根据struts.xml的配置文件找到请求路径,找到具体的类,通过反射的方式让方法执行。
最后返回字符串到达结果页面(result),执行页面的跳转。

猜你喜欢

转载自blog.csdn.net/weixin_36413887/article/details/79480775
今日推荐