精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-20
1. 概述在使用struts2进行web项目开发的时候,我们需要使用配置文件来解耦action和视图资源(例如:jsp页面) 开发完某个功能之后,我们在页面做一个操作(例如点击一个按钮),然后跳转到另一个页面,在调试的过程中,我们需要知道我的这个操作调用了哪个action,并且action执行之后,返回到哪个页面,然后在action中,或页面上,或配置文件中来找到是否出错 一般的调试过程是: l 根据url,在struts2配置文件中找到该url对应的配置信息 l 然后根据配置信息,找到对应的action类,以及对应的方法 l 然后看该操作返回那个结果字符串 l 再到配置文件中,找到该结果字符串对应的视图资源位置 l 最后找到视图资源 这个过程对开发人员来说,是繁琐的,无聊的。 我们要做的,就是省去上面的步骤,直接找到需要的调试相关信息 2. 功能列表l 用户进行一个操作,如果经过struts2处理,就会在控制台打印相应的信息,信息如下: 该操作的访问方式:例如POST或GET 调试url地址:url及参数(POST方式的参数被转为GET方式),便于用url直接调试 POST或GET参数的多行显示:每行显示一个键值对,参数名称=参数值 执行的action以及方法:便于快速找到该操作对应的action及方法 该操作的执行时间(单位毫秒):便于确定该操作的执行效率 该action配置信息所在配置文件的路径以及名称:便于快速找到对应的配置文件 该action配置信息在配置文件中的行数:便于快速找到配置该action的位置 该action返回的结果名称:便于快速确定action中方法返回的结果名称 该action返回的视图位置:便于快速找到该操作返回的视图资源的实际位置 Session范围中的信息:便于观察session中的信息 l 方便的开关控制台信息的显示 通过配置struts.xml文件中的devMode的值为true或false,来启用或停用控制台的提示信息,从而达到在开发的时候,设置devMode=true(打印信息),在程序上线的时候,设置devMode=false(不打印信息),不会造成效率的影响。 或者在struts.xml中去掉该插件相关的拦截器配置(在项目发布时,可以不包含该插件包),来关闭调试信息。 l 可自定义提示前缀和提示信息 在configdebug.properties属性文件中进行配置。 3. 使用效果3.1. 操作用户在一个添加用户页面中,输入如下信息,然后点击提交按钮 该操作调用struts2的action
3.2. 结果
在控制台打印出如上信息,说明: 1. accessMethod 该操作的访问方法是POST方式提交的 2. debugUrl 调试的url,显示完整的url以及参数,对于参数的处理,如果是GET方式,就按原样打印,如果是POST方式,就将参数转换为GET方式,即在url后面添加参数对儿。如果这次增加操作出现异常,那么在修改后台代码之后,就不用在添加页码再次输入这些信息,只需要将该debugUrl在浏览器的地址栏中执行即可,直到该功能调试成功,节省了输入信息的时间。 3. parameters(Multirow) 如果有参数,将参数分开,多行显示,便于开发人员观察参数的值是否正确等 4. actionAndMethod 该操作实际调用的是com.demo.action.UserAction中的add方法,便于开发人员快速找到该方法进行修改逻辑,或修改bug。 5. executeTime 该操作的执行时间是375毫秒 6. configFilePath 该action(com.demo.action.UserAction)是在类路径下的struts.xml中配置的 7. configFileLineNumber 该action(com.demo.action.UserAction)在struts.xml中配置位置的行号是47行 8. actionReturnResult 该action(com.demo.action.UserAction)在add方法中的返回结果值为success 9. actionReturnView 该action(com.demo.action.UserAction)返回的视图资源(例如:jsp)的位置在项目根路径下的app/user/user_list.jsp 10. sessionInfo 当前session中的信息有,loginUser=张三
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 1615 次