首页 > 程序开发 > 软件开发 > 其他 >

【SSH】SSH框架(二)——Struts2框架的简单认识

2016-11-21

前一篇博客中小编向大家分享了《【SSH】SSH框架(一)——宏观介绍》,整体介绍了SSH框架的宏观结构,接下来小编会依次向大家详细介绍。在本博客中向大家介绍的是Struts2。

一、前言

前一篇博客中小编向大家分享了《【SSH】SSH框架(一)——宏观介绍》,整体介绍了SSH框架的宏观结构,接下来小编会依次向大家详细介绍。在本博客中向大家介绍的是Struts2。

二、对比以前

小编是第一次接触Java的项目,这个项目用到的框架之中就有Struts2,刚开始的时候小编自己都被这些整的蒙头转向的,刚接触后自己查了查资料,知道了它主要是采用拦截器的机制来处理用户的请求。

在正式学习一种新的技术之前,我们要知道使用Struts2的目的是什么?

Struts2主要是使用了MVC框架,它的目的是使Model和View分离,中间由Controllor进行中转。在以前的.Net项目中有自己也用过Spring MVC,也体验了一下它的灵活性,了解了数据到后台的变活流程。

三、技术要点

3.1 引入jar包

要使用Struts2框架,首先要引入相应的jar包。然后在web.xml配置文件中配置Struct2的核心过滤器,然后在struts.xml配置文件中配置struts的基本映射信息。

引入jar包:

struts-2.3.15.3\apps\struts2-blank.war\WEB-INF\lib*.jar

struts-2.3.15.3\lib\struts2-json-plugin-2.3.15.3.jar

struts-2.3.15.3\lib\struts2-spring-plugin-2.3.15.3.jar

这里写图片描述

3.2 web.xml

Struts2 应用程序的入口点,将是一个部署描述符(web.xml)中定义的过滤器。因此,我们将定义在web.xml中的FilterDispatcher是类的项。需要创建的文件夹的WebContent/ WEB-INF下web.xml文件。

<!--web.xml 文件中配置的Struts2-->
<!-- 配置Struts2的核心过滤器  -->
  <filter>
        <!--定义过滤器的名字-->
        <filter-name>
            struts2
        </filter-name>
        <!--过滤器的类-->
        <filter-class>
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
         </filter-class>
  </filter>

  <!--元素过滤器映射,映射 servlet或一个URL模式-->
  <filter-mapping>
    <!--过滤器名称-->
    <filter-name>struts2</filter-name>
    <!--所有的URL将被解析struts的过滤器-->
    <url-pattern>/*</url-pattern>
    <!-- 请求走核心过滤器 -->
    <dispatcher>REQUEST</dispatcher> 
     <!-- 转发也走核心过滤器 -->
    <dispatcher>FORWARD</dispatcher>
  </filter-mapping>

    <!---->
  <display-name></display-name> 
  <!---->
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

请注意,我们Struts 2的过滤器映射为/, /.action这意味着所有的URL将被解析struts的过滤器。我们将覆盖时,我们将通过“注释”一章。

3.3 struts.xml

<struts>

    <!-- 开发模式 -->
    <constant name="struts.devMode" value="false" />

    <package name="shop" extends="struts-default" namespace="/">

        <!-- 全局的映射-Ares-2016年9月25日22:21:37 -->
        <!-- 全局results配置 -->
        <global-results>
            <result name="msg">/WEB-INF/jsp/msg.jsp</result>
        </global-results>

        <!-- 配置首页访问的Action -->
        <action  name ="index" class="indexAction">
            <result name = "index">
                /WEB-INF/jsp/index.jsp
            </result>
        </action>

    </package>
</struts>

web.xml配置文件字段解释:

package-name:用于区别不同的package;必须是唯一的、可用的变量名;用于其它package来继承;

package--namespace:用于减少重复代码(和struts1比较);是调用action时输入路径的组成部分;

package--extends:用于继承其它package以使用里面的过滤器等;

action--name:用于在一个package里区别不同的action;必须是唯一的、可用的变量名;是调用action时输入路径的组成部分;

action--class:action所在的路径(包名+类名);

action--method:action所调用的方法名;

3.4 附加了解:从Struts到Struts2.

Struts已经分化成了两个框架:第一个是在传统的Struts1的基础上,融合了另外的一个优秀的Web框架WebWork的Struts2。Struts 2虽然是在Struts1的基础上发展起来的,但是实质上是以WebWork为核心的。Struts2为传统的Struts1注入了WebWork的先进的设计理念,统一了Struts1和WebWork两个框架。

Struts1分化出来的另外一个框架是Shale。这个框架远远超出了Struts1原有的设计思想,与原有的Struts1关联很少,使用了全新的设计思想。Shale更像一个新的框架而不是Struts1的升级。

四、小结

小编完成了这个框架的搭建,但是还是不是很清楚,还是需要多多的了解,在以后的学习过程中,会很大的帮助小编前进的。在不断的尝试中,不断前进。

相关文章
最新文章
热点推荐