博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2知识点小结(一)
阅读量:6492 次
发布时间:2019-06-24

本文共 2769 字,大约阅读时间需要 9 分钟。

一、struts2简介  

  1、Struts2是一个基于MVC设计模式的Web应用框架        只要是web层框架 一般就会遵守MVC设计模式

    2、struts2与struts1的关系?  没关系   WebWork基于xwork
    3、struts2是一个可插拔式框架(解耦)   ---通过filter与javaweb结合的

二、struts2快速入门 

   1、导入jar        

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

 2、配置web.xml  Struts2的核心filter        

    <!-- Struts2的核心filter -->

          <filter>
            <filter-name>Struts</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
          </filter>
          <filter-mapping>
            <filter-name>Struts</filter-name>
            <url-pattern>/*</url-pattern>
          </filter-mapping>           

   3、创建Action     

   public class QuickAction {

            public String execute(){
                System.out.println("QuickAction execute runnging.. ...");
                return null;
            }
        }       

    4、配置struts.xml

        位置:src下

        约束位置:struts2-core-2.3.24.jar/struts-2.3.dtd
        
        <struts>
            <package name="test" namespace="/" extends="struts-default">
                <action name="quick" class="com.itheima.action.QuickAction"></action>
            </package>
        </struts>    

    5、测试

        http://localhost:8080/Struts2Day01/quick

三、struts2的配置文件    

    1、入口Filter ---StrutsPrepareAndExecuteFilter

        Prepare:准备  对应init方法
        Execute:执行  对应doFilter
        
        PS:filter与生命周期相关方法:init  destroy  doFilter
        
        准备工作:
            --->StrutsPrepareAndExecuteFilter
            --->public void init(FilterConfig filterConfig)
            --->dispatcher = init.initDispatcher(config);
            --->dispatcher.init();
            --->
                init_DefaultProperties(); // [1]                加载org/apache/struts2/default.properties文件
                init_TraditionalXmlConfigurations(); // [2]        加载struts-default.xml,struts-plugin.xml,struts.xml
                init_LegacyStrutsProperties(); // [3]            加载src下的struts.properties文件
                init_FilterInitParameters() ; // [6]            加载Struts2的核心Filter分初始化参数
                
        总结:
            服务器启动--->创建Filter--->初始化方法init执行---->加载一些列的配置文件
            
            default.properties        struts2内置
            struts-default.xml        struts2内置
            struts-plugin.xml        struts2内置            struts.xml                自定义            struts.properties        自定义
            Filter的init            自定义
            
            注意:如果加载的内容有冲突的话,后加载的内容可以覆盖先加载的内容
    2、    default.properties
        配置struts2默认常量
        struts.i18n.encoding=UTF-8                设置struts2的编码是UTF-8  post不用解决乱码
        struts.multipart.maxSize=2097152        限制上传文件大小  2M
        struts.action.extension=action,,        访问Action时的扩展名
        struts.devMode = false                    设置开发模式  默认不开启开发模式  设置为true  修改struts2的内容后不需要重启服务器
    3、struts-default.xml
        常量
        struts-default包
            结果跳转类型
            interceptors拦截器
            
    4、struts-plugin.xml
    
    5、struts.xml
        位置:类加载路径下(src)
        
        见struts.xml文件
        
    6、struts.properties
        src自定义properties文件  该文件作用配置常量(等同于struts.xml中的constant)
        
    7、Filter的init
        只能配置常量
          <filter>
            <filter-name>Struts</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
            <init-param>
                <param-name>struts.action.extension</param-name>
                <param-value>action,,</param-value>
            </init-param>
          </filter>

四、struts2的常用API  

 Action定义的三种方式:

    1、POJO充当Action
    2、Action类实现Action接口
        Action接口提供5个常量
            SUCCESS:成功
            ERROR:报错
            NONE:不进行视图跳转  相当于null
            INPUT:跳转到输入视图
            LOGIN:跳转登录视图
    3、Action类继承ActionSupport类
        ActionSupport功能强大

转载于:https://www.cnblogs.com/itworkerlittlewrite/p/9442167.html

你可能感兴趣的文章
github desktop 官方离线下载地址
查看>>
hive动态分区
查看>>
php 日志库获取调用方的代码文件地址和代码行数
查看>>
浏览器加载和渲染网页顺序
查看>>
微服务架构springcloud
查看>>
深入剖析Android系统试读样章
查看>>
测试用例出错重跑--flaky插件
查看>>
yaf的安装
查看>>
比较java与C++的不同
查看>>
Twitter Storm入门
查看>>
Windows 平台安装 MongoDB
查看>>
Linux Tar Split压缩解压缩分片压缩解压缩
查看>>
使用scikit-learn进行文本分类
查看>>
Ansible自动化运维配置与应用(结合实例)
查看>>
下面简要介绍软件工程的七条原理
查看>>
java POI实现excel实现表格导出
查看>>
Lua(三)——语句
查看>>
TensorFlow的基本运算01
查看>>
怎么看电脑有没有安装USB3.0驱动
查看>>
overflow清除浮动的原理
查看>>