刚开始学习SSH框架中Struts2时,个人疑惑以及一些问题总结一下。

1package节点namespace属性值决定访问路径问题      

  namespace不写或写namespace=""代表含义都一样

  namespace="/"表示根命名空间,只能处理“项目名/actionName.action”的URl请求。

  假设有个name="index"的action  即名为index.action,项目名为p1。namespace值及访问路径如下:

Namespace值

访问路径

空或""

p1/index.action或p1/x/index.action等

/

p1/index.action  (只能这一种)

/x

p1/x/index.action

/x/y

p1/x/y/index.action

  如下struts.xml配置

<struts>

  <constant name="struts.devMode" value="true" />

  <package  name="front" extends="struts-default" namespace = "/front">

    <action name="index">

      <result>/Namespace.jsp</result>

    </action>

  </package>

  <package name="main" extends="struts-default" namespace="" >

    <action name="index">

      <result>/Namespace.jsp</result>

    </action>

  </package>

</struts>

  namespace是什么?想访问的action前面就应该加上什么,比如这里就是/front/index.action

    namespace等于空,意味着:只要在url敲index.action不管在哪里敲,路径多么深,只要最后是“index.action”就可以访问这个action。

  所以namespace意味着:只要找到一个index.action,没有找到精确的对应的namespace,全部都交给namespace为空的这个package去处理,所以这个package囊括了其他所有package处理不了的action。

资料参考:

https://zhidao.baidu.com/question/331902753.html

http://blog.csdn.net/menghuannvxia/article/details/47169991 这个网址对于namespace=""和namespace="/"的描述有错误。

http://www.cnblogs.com/hongten/archive/2011/07/29/2121450.html

2actionresult节点name属性值命名方式问题 

  个人理解:系统根据action节点中的method属性值对应的方法中的返回结果,在result中查找相应结果的映射,转向指定界面。所以result中name值只要和method属性值对应的方法中的返回值相同即可。

3src下的类什么时候加载

用户提交表单时 会有一个action属性,根据action值,在struts.xml中查找相应name的action配置,根据配置找到相应的类,执行method属性对应的方法,根据方法返回值,在result中查找相应结果的映射,转向指定界面。

4struts.xml配置及action配置

action配置中,配置项的默认值:

1) 如果没有指定Action的class,默认值为ActionSupport。

2) 如果没有指定Action的method属性,默认值为execute()方法。

3) 如果没有指定result的name属性,默认值为”success”

资料参考:

http://www.cnblogs.com/kay/archive/2007/11/28/976120.html

http://blog.csdn.net/ldl420783321/article/details/7546607

 

欢迎评论,批评指正。

学习Struts2的个人疑惑及问题解决的更多相关文章

  1. 学习struts2

    有部分内容转载牛人的博客: http://blog.csdn.net/hudie1234567/article/details/6730481 http://blog.csdn.net/lishuan ...

  2. 学习struts2及MVC

    1.MVC模式基础 1.1.MVC模式简介 MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而达到更好的开发和维护效率.在MVC模式中 ...

  3. 学习Struts2的第一个应用步骤

    ---恢复内容开始--- 一.在官网 http://struts.apache.org/下载struts-2.3.31-all 1.  打开struts-2.3.31-all,将struts-2.3. ...

  4. java学习中的一些疑惑解答

    一.java中的枚举类型: 在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的.例如星期一到星期日七个数据元素 ...

  5. struts2 jsp 传参 NullPointerException问题解决

    今天遇到了一个问题,那就是jsp给struts2传递参数的时候,总是空指针异常,开始我以为是可能是哪里写的不对,但是经过仔细检查后,没有发现什么异常的地方,后来我发现我的po类里面没有空构造,只有一个 ...

  6. 深入学习Struts2

    本部分主要介绍struts.xml的常用配置. 1.1.    包配置: Struts2框架中核心组件就是Action.拦截器等,Struts2框架使用包来管理Action和拦截器等.每个包就是多个A ...

  7. 框架学习Struts2之HelloWord

    一.概述 Struts2是基于MVC设计模式的web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts作为控制器(Controller)来建立模型与视图之间的数据交互.Str ...

  8. SSH框架学习------struts2前后台传值(二)

    struts2的Action类一般都会继承(extends)ActionSupport类(Action类,即实现action的类)1.前传后:jsp里<input type="text ...

  9. SSH框架学习------struts2(一)

    1.总的目录 2.所有程序 1)index.jsp很简单 <%@ page language="java" contentType="text/html; char ...

随机推荐

  1. 通过Referer设置来防盗链

    在Servlet中需要设置防盗链功能时可以通过以下代码: String referer = request.getHeader("Referer"); if(referer == ...

  2. Unity之Vector3.SignedAngle实现

    如代码: float angle = Vector3.Angle(v1, v2); angle *= Mathf.Sign(Vector3.Cross(v1, v2).y);

  3. arm trustzone

    arm的trustzone并不涉及到具体的crypto算法,只是实现: 1) 敏感信息的安全存储: 2) 控制bus和debug的安全访问,保证信息不被泄露: trustzone是system_lev ...

  4. factory源码分析——component_registry和object_registry

    registry类主要是为object和component提供一个轻量级的代理(lightweight proxy)来方便factory实现: registry class从uvm_object_wr ...

  5. CentOS下nginx+php的配置及nginx开机启动配置

    关闭防火墙 (不然外链接是访问不了 apache) service iptables stop 关闭安全系统 SELinux( 不然报403 访问页面错误 ) 1.Nginx安装主要在于配置文件的修改 ...

  6. codeoforces 932A

    题意: A和B在玩一个游戏,首先有一个X0 >= 3,之后选择一个小于X0的质数p,然后在找一个最小的X1 >= X0,并且p可以整除X1:之后再选择一个小于X1的质数p,然后再找一个最小 ...

  7. SQL 中的连接查询

    关于SQL的应用,肯定离不开查询,而相对复杂的查询,总是离不开对表的连接,单个表操作的并不罕见,但是在应用环境大多数的查询都是针对2.3个表甚至更多的表7,至于连接,有内连接.外链接.交叉连接之分,每 ...

  8. 用django统计代码行数+注释行数

    实现统计代码行数: 1.首先在url.py中配置 from django.conf.urls import url from django.contrib import admin from app0 ...

  9. 设计模式之Singleton(单态)(转)

    定义: Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在. 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作. 还有, singleton能够被状 ...

  10. 【转】求职面试-HR会问你什么问题?

    前言 面试是程序员们经常探讨的话题,只要你通过前面的技术面,最后一面必然是HR面试,基本上到了这关你离Offer的距离应该不会太远了,但有的公司的HR是有刷入的权利,如果你并不能很好的应对HR的问题, ...