介绍

在Struts 2 web应用程序的开发过程中,您可能希望查看由Struts 2框架管理的信息。本教程将介绍两种工具,您可以使用它们来查看。一个工具是Struts 2的配置插件,另一个是调试拦截器。本文还讨论了如何设置日志级别以查看更多或更少的日志消息。

贴个本帖的地址,以免被爬:struts2官方 中文教程 系列九:Debugging Struts 即 http://www.cnblogs.com/linghaoxinpian/p/6916619.html

下载本章节代码

Configuration Plugin(配置插件)

Struts 2配置浏览器插件提供了关于运行程序的配置的详细信息。使用这个插件我们需要引入  struts2-config-browser-plugin-x.x.x.x.jar

在第一章的时候,我们用的是min包,这次我们下载解压完整的包

在index.jsp中添加如下内容

<!--浏览器插件-->
<hr>
<a href='<s:url action="index" namespace="config-browser" />'>Launch the configuration browser</a>

运行如下

您可以单击链接来查看该操作的配置。例如,单击register动作链接会

在页面的左侧是配置浏览器插件菜单。点击constants将呈现一个视图,列出所有的 Struts 2 常数和它们设置您的应用程序的属性的值。点击Jar显示应用程序正在使用的jar。

使用拦截器(Debugging Interceptor)

If you have set devMode to true (in the example application see struts.xml) then one of the interceptors that is activated when Struts 2 processes an action is the DebuggingInterceptor.

如果您已经将devMode设置为true(在Struts.xml文件中),然后当Struts 2处理一个action时,拦截器将被激活,这就是调试拦截器(DebuggingInterceptor)。拦截器将查找附加到URL上的查询字符串,该字符串具有调试的名称和xml、控制台、命令或浏览器。

如果调试器发现了这个查询字符串,那么它将停止执行该操作,并返回到浏览器调试信息。返回信息的格式取决于拦截器找到的查询参数的值。更多的细节请参见DebuggingInterceptor

我们修改上面代码

index.jsp

<!--浏览器插件-->
<hr>
<a href='<s:url action="index" namespace="config-browser" />'>Launch the configuration browser</a>

修改为:

    <!--浏览器插件-->
<hr>
<a href='<s:url action="index" namespace="">
<s:param name="debug">browser</s:param>
</s:url>
'>Launch the configuration browser</a>

这是带参数的url标签,忘记的回去复习,运行如下

在index.jsp中有一个链接显示debugging 信息。该链接包括查询字符串debug=browser。如果单击此链接,您将看到一个可以展开并折叠的列的表。这个表包含了各种对象和由Struts 2框架管理的状态。

Note that to enable the correct display and interaction of the expand/collapse links on the debugging information web page you need to include the s:head tag in your JSP’s head section (see index.jsp in the example application) and also include the Struts 2 dojo plugin in your application’s class path. The Struts 2 dojo plugin is available as part of the Struts 2 download and from the Maven repository.

不是很懂什么意思。dojo在包里并没有找到

总结

使用配置浏览器插件和调试拦截器可以帮助您解决Struts 2 web应用程序的问题。这些工具只应该用于开发。在创建用于部署到生产的war文件之前,您应该将devmode更改为false,并删除调试链接。您可能还希望将日志属性文件中的日志记录级别调整到一个更高的级别(信息或警告),以减少日志消息的数量。

struts2官方 中文教程 系列九:Debugging Struts的更多相关文章

  1. struts2官方 中文教程 系列十:Form标签

    介绍 在本教程中,我们将探索其他Struts 2表单控件.在前面的教程中,我们介绍了如何使用Struts 2表单(处理表单.表单验证和消息资源文件),我们介绍了如何使用Struts 2 head, f ...

  2. struts2官方 中文教程 系列十四:主题Theme

    介绍 当您使用一个Struts 2标签时,例如 <s:select ..../>  在您的web页面中,Struts 2框架会生成HTML,它会显示外观并控制select控件的布局.样式和 ...

  3. struts2官方 中文教程 系列十三:利用通配符选择方法

    介绍 在本教程中,我们将介绍如何在struts.xml中配置action节点以达到仅使用一个action节点将几个不同的url关联到特定action类的特定方法.这样做的目的是减少struts.xml ...

  4. struts2官方 中文教程 系列十二:控制标签

    介绍 struts2有一些控制语句的标签,本教程中我们将讨论如何使用 if 和iterator 标签.更多的控制标签可以参见 tags reference. 到此我们新建一个struts2 web 项 ...

  5. struts2官方 中文教程 系列十一:使用XML进行表单验证

    在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让 ...

  6. struts2官方 中文教程 系列八:异常处理

    在本教程中,我们将探讨如何启用Struts 2框架处理web应用程序生成的任何未捕获的异常.Struts 2提供了健壮的异常处理,包括能够自动记录任何未捕获的异常,并将用户重定向到错误web页面. 贴 ...

  7. struts2官方 中文教程 系列七:消息资源文件

    介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字 ...

  8. struts2官方 中文教程 系列五:处理表单

    先贴个本帖的地址,免得其它网站被爬去了struts2教程 官方系列五:处理表单  即 http://www.cnblogs.com/linghaoxinpian/p/6906298.html 下载本章 ...

  9. struts2官方 中文教程 系列三:使用struts2 标签 tag

    避免被爬,先贴上本帖地址:struts2 官方系列教程一:使用struts2 标签 tag http://www.cnblogs.com/linghaoxinpian/p/6901316.html 本 ...

随机推荐

  1. Perl实用中文处理步骤(修改版)

    发信人: FenRagwort (泽), 信区: Perl标  题: Perl实用中文处理步骤(修改版)发信站: 水木社区 (Mon Feb 14 12:52:14 2011), 转信 (修改版 感谢 ...

  2. Android(java)学习笔记50:通过反射获取成员变量和成员方法并且使用

    1. 反射获取成员变量并且使用: (1)获取字节码文件对象:         Class c = Class.forName("cn.itcast_01.Person"); (2) ...

  3. 从零开始Vue项目实战(一)-准备篇

    从前参与过一个react项目的代码编写,大神搭建的框架,我主要负责业务逻辑代码编写,现在回想起来似乎又什么都不会,现在为了巩固前端知识,决定用Vue来做这个项目的移动端网站,我本人Vue是从零开始的, ...

  4. 【[TJOI2007]可爱的质数】

    题目 用一道板子题来复习一下\(bsgs\) \(bsgs\)用于求解形如 \[a^x\equiv b(mod\ p)\] 这样的高次不定方程 由于费马小定理的存在,我们可是直接暴力扫一遍\(p\), ...

  5. [POI2014]MRO-Ant colony

    嘟嘟嘟 题面很迷,看这个吧. 首先暴力很简单,从每一个叶子节点开始爬,直到那条特殊的边. 正解稍微想想就能搞出来:(x, y)这条特殊的边把整棵树分成了两部分,然后我们分别从x, y开始在他的那部分子 ...

  6. 【转】总结oninput、onchange与onpropertychange事件的用法和区别

    经本人测试在chrome下的从历史记录中选取值的时候也户触发input事件 前端页面开发的很多情况下都需要实时监听文本框输入,比如腾讯微博编写140字的微博时输入框hu9i动态显示还可以输入的字数.过 ...

  7. IO缓冲区

    标准IO提供的三种类型的缓冲模式: (1)按块缓存:在填满缓冲区后才进行实际的设备读写操作 (2)按行缓存:指在接收到换行符('\n’)之前,数据都是先缓存在缓冲区的 (3)不缓存:允许你直接读写设备 ...

  8. 如何打卡后缀为3ds的文件

    打开.3DS文件 3DS文件怎么打开? 用它吧:a3dsviewer,顾名思义,一个3D文件浏览工具,为用户提供一个快速和简单的3DS文件浏览器很容易. 这里是一些主要特点的“a3dsviewer”: ...

  9. 怎么得到scrollTop

    我们学习一个事件 :  页面滚动效果 window.onscroll = function() { 页面滚动语句  } 谷歌浏览器 和没有声明 DTD  <DOCTYPE     > : ...

  10. jzoj100029. 【NOIP2017提高A组模拟7.8】陪审团(贪心,排序)

    Description 陪审团制度历来是司法研究中的一个热议话题,由于陪审团的成员组成会对案件最终的结果产生巨大的影响,诉讼双方往往围绕陪审团由哪些人组成这一议题激烈争夺. 小 W 提出了一个甲乙双方 ...