struts2官方 中文教程 系列九:Debugging Struts

介绍

在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,并删除调试链接。您可能还希望将日志属性文件中的日志记录级别调整到一个更高的级别(信息或警告),以减少日志消息的数量。

时间: 2024-10-12 22:19:35

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

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

介绍 在本教程中,我们将探索其他Struts 2表单控件.在前面的教程中,我们介绍了如何使用Struts 2表单(处理表单.表单验证和消息资源文件),我们介绍了如何使用Struts 2 head, form, textfield 控件和key属性.本教程将探索使用Struts 2 select, radio, checkbox, and checkboxlist form 控件 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列九:Debugging Struts 即 http://w

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

在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让您可以内置到Struts 2框架的验证器. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列十一:使用XML进行表单验证  即 http://www.cnblogs.com/linghaoxinpian/p/6938720.html 下载本章节代码 为了使用户能够编辑存储在Person对

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

介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字段标签,并根据用户的语言环境将文本更改为特定的语言. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列七:消息资源文件  即 http://www.cnblogs.com/linghaoxinpian/p/6906720.html 下载本章节代码 信息资源属性文件 在Struts2 we

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

介绍 struts2有一些控制语句的标签,本教程中我们将讨论如何使用 if 和iterator 标签.更多的控制标签可以参见 tags reference. 到此我们新建一个struts2 web 项目:struts_basic2 本帖地址:struts2官方 中文教程 系列十二:控制标签 即 http://www.cnblogs.com/linghaoxinpian/p/6941683.html 下载本章节代码 struts2 if标签 我们在thankyou.jsp中添加如下代码: <s:i

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

在本教程中,我们将探讨如何启用Struts 2框架处理web应用程序生成的任何未捕获的异常.Struts 2提供了健壮的异常处理,包括能够自动记录任何未捕获的异常,并将用户重定向到错误web页面. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列八:异常处理  即 http://www.cnblogs.com/linghaoxinpian/p/6915066.html 下载本章节代码 全局异常处理(Global Exception Handling) 使用Struts 2框架,您可以

Netty4.x中文教程系列(六) 从头开始Bootstrap

Netty4.x中文教程系列(六) 从头开始Bootstrap 其实自从中文教程系列(五)一直不知道自己到底想些什么.加上忙着工作上出现了一些问题.本来想就这么放弃维护了.没想到有朋友和我说百度搜索推荐了我的文章.瞬间有点小激动啊.决定自己要把这个教程系列完善下去.这里诚挚的想支持我的盆友们道歉.真的是让你们失望了.我居然有想放弃的这种丧心病狂的念头.以后绝对不会了. 其实伴随着对Netty的逐步深入学习.感觉自己对netty的了解仍然有所欠缺.加上笔者语文课是美术老师教的.所以..说多了都是泪

Netty4.x中文教程系列(三) ChannelHandler

Netty4.x中文教程系列(四)  ChannelHandler 上一篇文章详细解释了Hello World示例的代码.里面涉及了一些Netty框架的基础. 这篇文章用以解释ChannelHandler.笔者本身在以前写过文章ChannelHandler改动及影响 和 ChannelInitializer 学习 对Netty的.ChannelHandler做过阐述.里面主要描述了4.x版本相对于3.x版本的改动以及影响.并引用了一些文章.为大家详细的解释了ChannelHandler里面涉及架

Netty4.x中文教程系列(四) 对象传输

Netty4.x中文教程系列(四)  对象传输 我们在使用netty的过程中肯定会遇到传输对象的情况,Netty4通过ObjectEncoder和ObjectDecoder来支持. 首先我们定义一个User对象,一定要实现Serializable接口: package mjorcen.netty.object; import java.io.Serializable; /** * User: hupeng Date: 14-6-3 Time: 上午1:31 */ public class Use

Netty4.x中文教程系列(二) Hello World !&lt;转&gt;

在中国程序界.我们都是学着Hello World !慢慢成长起来的.逐渐从一无所知到熟悉精通的. 第二章就从Hello World 开始讲述Netty的中文教程. 首先创建一个Java项目.引入一个Netty 框架的包.这个步骤我在本系列教程的后面就不在重复了. 先上一张我示例的项目工程图给大家看一下: 1.下载并为项目添加Netty框架 Netty的包大家可以从Netty官网:http://netty.io/downloads.html 下载 如图所示: Netty提供了三个主要版本的框架包给