从struts2.1开始,struts2 引入了Convention插件来支持零配置,使用约定无需struts.xml或者Annotation配置

需要 如下四个JAR包

插件会自动搜索如下类

  action、actions、struts、struts2包下所有Java类
  所有实现了com.opensymphony.xwork2.Action的Java类
  所有类名以Action结尾的Java类
    下面类名都符合Convention插件
      cn.yzu.struts2.HelloAction
      cn.yzu.actions.books.BookSearchAction
      cn.yzu.struts.user.UserAction
      cn.yzu.estore.action.test.LoginAction

struts2-convention-plugin-2.3.7.jar 中struts-plugin.xml重要常量

<constant name="struts.convention.package.locators" value="action,actions,struts,struts2"/> 默认扫描包
<constant name="struts.convention.exclude.packages" value="org.apache.struts.*,org.apache.struts2.*,org.springframework.web.struts.*,org.springframework.web.struts2.*,org.hibernate.*"/> 不扫描
<constant name="struts.convention.action.suffix" value="Action"/> 默认扫描以Action结尾的类
<constant name="struts.convention.result.path" value="/WEB-INF/content/"/> 结果result页面存放位置
<constant name="struts.convention.classes.reload" value="false" /> Action类文件重新自动加载

Action映射

  如果Action类名包含Action后缀,将Action后缀去掉,将Action类名的驼峰写法,转成中划线写法
  例如:
     cn.yzu.struts2.HelloAction 映射到 /hello.action
     cn.yzu.actions.books.BookSearchAction 映射到 /books/book-search.action
     cn.yzu.struts.user.UserAction 映射到 /user/user.action
     cn.yzu.estore.action.test.LoginAction 映射到 /test/login.action

默认情况下,Convention总会到Web应用的WEB-INF/content路径下定位结果资源
  <constant name="struts.convention.result.path" value="/WEB-INF/content/"/>
  约定: actionName + resultCode + suffix (后缀)
  例如:
    访问cn.itcast.struts.user.UserAction返回success
    Convention优先使用 WEB-INF/content/user/user-success.jsp
    如果user-success.jsp不存在,会使用user-success.html
    如果user-success.html不存在,会使用user.jsp

 示例结构:

转载于:https://www.cnblogs.com/fengmingyue/p/6143286.html

Struts2零配置介绍(约定访问)相关推荐

  1. Struts2 Convention Plugin ( struts2 零配置 )

    Struts2 Convention Plugin ( struts2 零配置 ) convention-plugin 可以用来实现 struts2 的零配置. 零配置的意思并不是说没有配置,而是通过 ...

  2. Struts2零配置属性详解(2)

    2019独角兽企业重金招聘Python工程师标准>>> Struts2 零配置属性详解 一.插件包 直接引入myEclipse里面的struts code 包即可. struts2- ...

  3. Struts2零配置 Zero Config+CodeBehind

    Zero Config能根据web.xml中配置的actionPackages自动扫描所有Action类,并猜测其NameSpace. 再利用CodeBehind猜测Result指向的jsp,实现了s ...

  4. struts2 零配置

    一.新建一个web项目,命名为:struts2 二.导入strut2所需的jar包 所需jar下载:http://pan.baidu.com/s/1dDxP4Z3 三.配置struts2的启动文件,在 ...

  5. 【struts2】struts2的零配置

    零配置(zero configuration)的意思是不使用任何配置文件部署struts2应用,如struts.xml.struts.properties等.零配置并不是真的"零配置&quo ...

  6. 简述Struts2 Convention零配置

    从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该 ...

  7. Struts2 ActionWildcard(通配符配置)约定优于配置

    新建web project:struts2_0500_actionwildcard Build Path 项目图: src: StudentAction.java TeacherAction.java ...

  8. Struts2 XML配置详解

    2019独角兽企业重金招聘Python工程师标准>>> 1.    深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1.    包配置: Strut ...

  9. SpringMVC学习(五)——零配置实现SpringMVC

    文章目录 1.引言 2.搭建过程 2.1 开发环境搭建 2.2 项目搭建 2.2.1 首先看`web.xml`配置 2.2.2 增加`WebApplicationInitializer`的实现类 2. ...

最新文章

  1. julia常用矩阵函数_Julia系列教程3 数学运算 矩阵运算
  2. Android11vivox21刷机包,vivo x21旧版官方固件rom系统刷机包
  3. C语言库文件ctype.h中重要的库函数
  4. 关于junit测试类启动慢报错:failed to resolve org.junit.platform
  5. python离散变量_python – 当涉及离散变量时,pymc3与pymc2的困难
  6. cobol和java区别,COBOL语法和文法(1)
  7. Unix中$$、$@、$#、$*的意思
  8. python类和对象基础_Python(基础)---类和面向对象编程
  9. slam特征点深度 svd_【干货】视觉SLAM面试题汇总(第二部分)
  10. 若干排序算法简单汇总(一)
  11. QT 跨平台 代码框架
  12. Java最准确的获取当前一周开始时间和结束时间
  13. 服务器空间对SEO的影响有多大
  14. 淘宝上传图片到淘宝 API 返回值说明(upload_img-上传图片到淘宝)
  15. 镜像文件iso有什么用
  16. 太实用啦,4种方法教你轻松制作交互式仪表板
  17. Pandownload 开发者被抓了,但是其背后,百度难道不需要反思吗?
  18. 创建Mac的shell命令文件(xxx.sh)
  19. 抓取汽车之家新闻资讯做安卓app新闻资讯数据
  20. 如何在DAppNode中配置Folding At Home节点

热门文章

  1. Android关联启动查询数据库,VIVO X9怎么查看关联启动记录 VIVO X9查看关联启动记录教程...
  2. android 加壳 方案,android加壳思路
  3. java 命令 乱码_解决java 命令行乱码的问题
  4. 超适合新手的基础Linux命令
  5. Dubbo-Admin 功能展示与实操解析
  6. 9 个技巧,解决 K8s 中的日志输出问题
  7. 从零开始入门 K8s | 应用存储和持久化数据卷:存储快照与拓扑调度
  8. Python中集合的介绍以及常见操作
  9. c语言初学者百题大战答案七,C语言百题大战2405how many minutes
  10. 计算机职业短命,最短命10种活法你占几条?9成人长期对电脑