当我们在struts.xml中配置action的时候,设置了package的namepace,但浏览器打开的路径与其不相同也能运行action。
比如:我们的创建一个struts2项目,项目名为:struts2。struts.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN""http://struts.apache.org/dtds/struts-2.5.dtd"><struts><package  name="default" namespace="/test" extends="struts-default"><action name="helloworld"  class="action.HelloWorldAction"><result name="success">/result.jsp</result></action></package></struts>

理论上,我们在浏览器中输入的地址为:
http://localhost:8080/struts2/test/helloworld.action才能运行helloworld.action。但是我们把地址改为
http://localhost:8080/struts2/aaaa/helloworld.action也能访问。


Struts2中Action的搜素顺序
当我们访问http://localhost:8080/strutsProject/path1/path2/path3/Test.action的时候:

首先,判断package是否存在,如path1/path2/path3

  • 如果存在:判断Action是否存在,比如:Test.action。如果不存在则跳转到默认的namespace(在struts.xml中指定)中去找Action;如果不存在,则直接报错
  • 如果不存在:依次检查上一级package是否存在(直到默认namespace),执行 ①。

虽然理论上我们只要正确输入Action就能运行,但推荐还是要正确输入package哦

Struts2中Action的搜素顺序相关推荐

  1. 【Struts2学习笔记(1)】Struts2中Action名称的搜索顺序和多个Action共享一个视图--全局result配置...

    一.Action名称的搜索顺序 1.获得请求路径的URI,比如url是:http://server/struts2/path1/path2/path3/test.action 2.首先寻找namesp ...

  2. struts2中Action名称的搜索顺序

    Action名称的搜索顺序 1.获得请求路径的URL 例如URL:http://server/struts2/path1/path2/path3/test.action 2.首先寻找namespace ...

  3. Struts2中Action接收参数

    Struts2中Action接收参数的方法主要有以下三种: Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:     a.定义:在Action类中定义属 ...

  4. Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法...

    Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法 www.MyException.Cn   发布于:2012-09-15 ...

  5. java登录中用户类型分类_基于用户登陆的struts2中action的分类详解

    在struts2中action的分类有:继承 ActionSupport 实现 Action,模型驱动(ModelDriven)的 Action,多方法的 Action三种方式. 1.继承 Actio ...

  6. Struts2中action接受参数方法

    Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:    a.定义:在Action类中定义属性,创建get和set方法:    b.接收:通过属性接收参数 ...

  7. Struts2中Action的属性接收参数

    Struts2中Action的属性接收参数,有三种传递并接收参数的方式,第一种是在Action添加成员属性接收参数,第二种是域模型,就是利用对象域来进行传递和接收参数,第三种是ModelDriven接 ...

  8. Struts2中Action接收参数的方法

    Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性(属性驱动)接收参数:(推荐) a.定义:在Action类中定义属性,创建get和set方法: b.接收:通过属性 ...

  9. Struts2中action获取request、response、session的方式

    2019独角兽企业重金招聘Python工程师标准>>> 第一种方式,非IoC(Spring中的控制反转)方式: package com.action; import java.uti ...

最新文章

  1. 【Prometheus】问题记录
  2. Swift学习笔记(8)--函数
  3. Android之解决JsonObject里面的JsonArray数据会有斜杠问题
  4. linux中initrd的含义,Linux2.6 内核的 Initrd 机制解析
  5. 多用as少用强制类型转换
  6. r(AB)=r(B)则方程组ABX=0与Bx=0有完全相同的解
  7. python3安装详细教程
  8. 查询linux信号量命令,Linux信号量动作和说明列表
  9. 省市区随机获取 java_随机获取省市区-Groovy
  10. dnf服务器的ini配置文件,dnf分辨率配置文件在哪 | 手游网游页游攻略大全
  11. 扇贝 Service Mesh 发展历程
  12. 杭州第三大世界文化遗产--良渚古城遗址
  13. 在Mac上使用idea搭建flink java开发环境
  14. python实现一键换脸+源码+教程
  15. Python实操笔记(2)——海龟绘图法绘制有层次感的奥运五环
  16. 小程序设置渐变色背景
  17. python基础知识之整除、取余、幂运算
  18. 菜鸟实现 PHP 二阶、三阶行列式计算和矩阵运算的加、减、乘
  19. OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f6cb1055000, 16384, 0) failed; erro
  20. 网站关键词排名怎么才能提高?

热门文章

  1. android 面向对象,android 面向对象六大原则
  2. python图像压缩主成分分析实例_python机器学习API介绍13: 数据降维及主成分分析...
  3. centos 6 mysql 5.7.13 编译安装_Centos 6.5系统下编译安装PHP 7.0.13的方法
  4. DOM事件流三个阶段
  5. 利用vertical-align实现图片文字垂直居中对齐(HTML、CSS)
  6. 实验2-1-5 将x的平方赋值给y (5 分)
  7. matlab 贝叶斯信息标准_Matlab中贝叶斯(bayes)分类器实现分类
  8. Automated Feature Engineering Basics
  9. Unity 手机的旋转控制
  10. Eclipse的tomcat出现:the server cannot started because one or more of the ports are invalid