Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1160|回复: 0

struts 2的零配置

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2011-6-6 15:33:39 | 显示全部楼层 |阅读模式

    1,通过@注解实现Action零配置
    零配置的原理是在Action类中使用@注解定义Action的资源,如@Namespace,@Result等。@Namespace定义命名空间,一般不常用。@Results定义结果集,可以包括多个@Result,@Result定义一个结果集。
    package com.zhangjie.struts2.action;
    import org.apache.struts2.config.Namespace;
    import org.apache.struts2.config.Result;
    import org.apache.struts2.config.Results;
    import org.apache.struts2.dispatcher.ServletRedirectResult;
    import com.opensymphony.xwork2.ActionSupport;
    @Namespace(value="/")  //命名空间
    @Results({
       @Result(name = "success",value = "/success.jsp"),
       @Result(name = "redirect",value = "/redirect.jsp",type=ServletRedirectResult.class),
       @Result(name = "login",value = "/login.jsp")
    })
    public class AnnotatedAction extends ActionSupport {
    public String execute(){
      return "login";
    }
    public String add(){
      return "success";
    }
    public String login(){
      return "login";
    }
    }
    2,web.xml中指定Action目录
      <filter>
         <filter-name>struts</filter-name>
         <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
         <init-param>
            <param-name>actionPackages</param-name><!-- 零配置Action所在的包 -->
            <param-value>com.zhangjie.struts2.action</param-value><!-- 包名-->
         </init-param>
      </filter>
    注:strust加载时会自动部署本package下的所有Action。如果某个Action位于本package下的另一个package下面,例如com.zhangjie.struts2.test,则"/test"会被当成该Action的namespace。默认的"/test"也可以用@Namespace标注覆盖。如果声明了actionPackages参数,则struts.xml中的配置会失效。目前,strust2只允许使用一种配置方式。要么使用struts.xml,要么使用零配置。
    3,零配置的Action访问方式
    http://localhost:2010/strust2/annotated.action访问,即去掉类名中的Action,同时首字母小写;
    如果访问add方法则:http://localhost:2010/struts2/annotated!add.action

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-1-8 08:02 , Processed in 0.298242 second(s), 36 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表