介绍

在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. C++中临时对象的产生与优化

    看到了几篇讲的不错的博客,这里收集起来 不明白的地方互相参考 https://blog.csdn.net/fangqingan_java/article/details/9320769 https:/ ...

  2. OpenCV人脸识别

    import cv2 filename = 'pic.jpg' def detect(filename): face_cascade = cv2.CascadeClassifier('./haarca ...

  3. HDU 5805

    题意: 退役狗 NanoApe 滚回去学文化课啦! 在数学课上,NanoApe 心痒痒又玩起了数列.他在纸上随便写了一个长度为 nn 的数列,他又根据心情随便删了一个数,这样他得到了一个新的数列,然后 ...

  4. 两个list相加

    >>> a = ['] >>> b = ['] >>> a+b ['] >>> a = [1,2] >>> b ...

  5. 在vue项目中的axios使用配置记录

    默认vue项目中已经安装axios,基于element-ui开发,主要记录配置的相关. axiosConfig.js import Vue from 'vue' import axios from ' ...

  6. 【luogu P2984 [USACO10FEB]给巧克力Chocolate Giving】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2984 练习SPFA,把FJ当做起点,求出到所有牛的最短路,再把两个牛的相加. #include <cs ...

  7. data-ng-show指令

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  8. Python 学习笔记(三)数字

    Python 数字 int 整型  是正或负整数  2 long 长整型  整数最后是一个大写或小写的L   2L float  浮点型 由整数部分和小数部分组成   2.0 complex 复数 小 ...

  9. web pack

    WebPack是模块捆绑器,如果你的代码跨越了不同模块(例如不同Javascript文件),web pack可以将这些零散的代码构建到浏览器可读单个文件中. web pack还可以作为构建通道,你可以 ...

  10. 预防跨站脚本(xss)

    对xss的防护方法结合在两点上输入和输出,一是严格控制用户表单的输入,验证所有输入数据,有效监测到攻击,go web表单中涉及到.二是对所有输出的数据进行处理,防止已成功注入的脚本在浏览器端运行. 在 ...