Struts2的常见配置

Struts2的执行流程

请求—核心过滤器——执行一组拦截器——action——result

servlet是单例的,多个程序访问同一个servlet只会创建一个servlet;

action是多例的,一次请求会创建多个实例(不会出现线程安全的问题)

Struts2的配置文件加载顺序

  1. default.properties
  2. Struts-default.xml
  3. Struts-plugin.xml
  4. Struts.xml
  5. Struts.properties
  6. web.xml

PS:常量配置在红色字体的文件中;

    后配置的常量会覆盖先配置的常量(文件加载顺序)

 

package相关配置

package标签名称为:包,(与java中的包概念不一样),此概念是为了更好的管理Struts2中的action;

package标签的属性:

  1. name :包的名称,在同一个项目中不重名即可;
  2. extend:继承包,通常继承(struts-default);
  3. namespace:名称空间,与action中的name共同决定action的访问路径;

          名称空间有三种写法:(按访问顺序)

               带名称:namespace="/aaa"

               根名称:namespace="/"

               默认名称:namespace=""

    4.abstract:抽象的,用来允许被其他包继承;

 

action相关配置

action标签配置action类

action标签相关属性:

  1.name:action的名称-与package标签共同决定action的访问路径

  2.class:action目标类的全路径

  3.method:代表执行action中的目标方法

  4.converter:用于设置类型转换器

action的三种编写方法:

    1.普通的pojo类

    2.继承ActionSupport类,重写execute方法

    3.实现action接口中的execute方法

action的访问:

    1.通过method设置

    2.通过通配符设置

    

      访问路径:

      

      高级通配符运用:

      

    3.动态方法访问

        开启动态方法访问(default.properties):

       

      配置文件:

      

      访问路径:

      

Struts2中的常量配置

Struts2在default.properties文件中提供了大量的常量;

  struts.i18n.encoding=UTF-8  //字符集编码(post),get需要自己手动设置

  struts.multipart.maxSize=2097152  //文件上传

  ......

有三个位置可以修改常量的默认配置:

    1.struts.xml中修改(一般位于头部)

        

    2.struts.properties中修改

      

    3.web.xml中修改(在核心过滤器中配置初始化参数)

       

分模块开发的配置

include的配置

 

Struts2访问servlet API的方式

    1.解耦合的方式:

        //相当于request(map集合)
        ActionContext.getContext();
        //相当于session(map集合)
        ActionContext.getContext().getSession();
        //相当于application(map集合)
        ActionContext.getContext().getApplication();

    2.原生方式:

        ServletActionContext.getPageContext();
        ServletActionContext.getPageContext().getRequest();
        ServletActionContext.getPageContext().getServletContext();
        ServletActionContext.getPageContext().getSession();

    3.接口注入的方式:

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值