`
jeelee
  • 浏览: 636881 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

struts警告信息

 
阅读更多
警告信息:

警告: No configuration found for the specified action: '/myNameSpace/login.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value.

struts.xml配置信息(部分)

<package name="packageName" extends="struts-default" namespace="/myNameSpace">
    <action name="login" class="com.jato.srvclink.test.login.LoginAction" method="login">

jsp页面配置信息(部分)

<s:form action="/myNameSpace/login.action">

思考:没有在''的namespace中发现指定的action '/myNameSpace/login.action'
答疑:因为配置的struts2标签并未指定namespace属性。所以struts2会默认从根命名空间"/"搜索action串'/myNameSpace/login.action',如果搜索不到将进入默认命名空间''搜索action请求串,在默认命名空间中是肯定找不到我们定义的action的,所以,struts2抛出一个警告信息。
但是为什么我们没有填写namespace,我们的请求也可以正常访问呢?

我们来看一下解析后的html
查看源码得到的html(部分)

<form id="login" onsubmit="return true;" action="/srvclink/myNameSpace/login.action" method="post">

我们看到form提交的action串是准确的url请求,action串确实是/srvclin(应用根)/myNameSpace(命名空间)/login.action。
命名空间中找不到action定义,并不意味着这个action真的不存在,只是我们的代码有问题而已。还有一点是我们在jsp页面的action请求中手动的加入了.action后缀。事实上struts2会自动追加.action的,因为我们并没有合法的使用struts2的标签,所以struts2这里并没有给我们追加.action,解析后的代码中存在的.action,完全是我们手动在jsp页面填写的,有疑问的网友可以不手动添加查看html。

我们修改我们的程序代码

jsp页面配置信息(部分)修改后加入namespace属性,修改action属性值为/login.action

<s:form action="/login.action" namespace="/myNameSpace">

请求页面后,大家很失望吧?警告依然存在。但是我们看一下警告信息。

警告信息:

警告: No configuration found for the specified action: '/login.action' in namespace: '/myNameSpace'. Form action defaulting to 'action' attribute's literal value.

没有在'/myNameSpace'的namespace中发现指定的action '/login.action'

毫无疑问,这里的警告和第一次的警告信息截然不同。我们现在存在命名空间,'/myNameSpace'能够被struts2检索到,并不是开始的''。那问题的关键在哪里呢?
在namespace中没有发现指定的action '/login.action' ???

我们来看一下struts.xml中的配置:

struts.xml配置信息(部分)

<package name="packageName" extends="struts-default" namespace="/myNameSpace">
    <action name="login" class="com.jato.srvclink.test.login.LoginAction" method="login">

是的,我们'/myNameSpace'命名空间下,只有action名字为'login'的定义,并没有所谓的 '/login.action' 定义,所以struts2的警告并未错。如果大家对这个抱有怀疑,可以修改action的名字'login'为‘/longin.action’
<action name="/login.action" class="com.jato.srvclink.test.login.LoginAction" method="login">
请求页面时你会发现不在报警告信息,原因很简单。因为在命名空间为'myNameSpace'下确实存在命名为'/login.action'的action。

我们再次修改配置文件

jsp页面配置信息(部分)修改后action属性值为longin

<s:form action="login" namespace="/myNameSpace">

请求页面时,我们发现不再有警告信息了。

如果你有足够细心,我想你应该可以彻底的明白为什么struts2会报警了吧?你也应该明白了使用struts2标签action中添加/线后请求反而报错的原因了。
分享到:
评论

相关推荐

    struts2中警告消息问题的解决方法

    例如,将JDKLogger的级别从WARN改为ERROR或INFO,减少警告信息的输出。 - **检查web.xml和struts.xml**:确认web应用的部署描述符web.xml和Struts2的配置文件struts.xml中没有遗漏或错误的配置项。 - **使用Struts...

    struts2 Https 配置

    这使得用户与服务器之间的敏感信息如登录凭证、信用卡号等在传输过程中不会被窃取或篡改。 在Struts2中配置HTTPS主要涉及以下几个步骤: 1. **配置服务器**:首先,你需要在服务器端(如Tomcat、Jetty等)启用...

    Struts2漏洞检查工具2019版 V2.3.exe

    警告: 本工具为漏洞自查工具,请勿非法攻击他人网站! ==漏洞编号==============影响版本=========================官方公告==========================================影响范围===== S2-057 CVE-2018-11776 ...

    Struts2 src 源码下载

    4. **ActionSupport**:提供了一些默认行为,如国际化、错误和警告处理的基类。 5. **Freemarker和Velocity**:Struts2支持多种视图技术,包括FreeMarker和Velocity模板引擎,你可以看到它们的配置和使用方式。 6. *...

    struts日志

    在Struts中,日志系统扮演着至关重要的角色,它允许开发者记录和追踪应用程序运行时的信息,包括错误、警告、调试信息等。这对于调试、性能优化和故障排查来说是非常有用的。 Struts支持多种日志框架,包括Apache ...

    struts2集成struts-ssl-plugin插件实现https访问例子

    - 确保你的应用证书是有效的,否则浏览器可能会显示警告。 - 考虑处理HTTP和HTTPS之间的会话管理,避免因切换协议导致的会话丢失问题。 - 在生产环境中,不要忘记更新为正式的SSL证书,而非测试或自签名证书。 通过...

    struts2框架详解

    - Action可以通过实现`com.opensymphony.xwork2.ActionSupport`接口来获得默认的行为,如国际化支持、错误和警告处理等。 - `.struts2-convention-plugin`允许开发者通过类名和方法名自动映射Action,减少了XML...

    struts2高级部分

    通过以上的介绍可以看出,Struts2框架中的异常处理机制非常灵活且强大,不仅支持开发模式下的详细错误信息记录,还提供了丰富的异常映射配置选项,使得开发者可以根据不同的需求定制异常处理逻辑。这对于提升应用...

    黎活明struts2 ppt

    黎活明 struts2 ppt struts.xml各种运用配置范例

    struts2开发遇到的问题

    在实际开发中,理解Struts2的工作原理、配置细节以及日志信息对定位和解决问题至关重要。此外,保持更新至最新稳定版本的Struts2框架,遵循最佳实践,以及使用IDE的代码检查和自动修复功能,都可以帮助减少这类问题...

    Struts2漏洞检查工具2017版.zip

    Struts2漏洞检查工具2017版 V2.0 by 安恒信息应急响应中心。支持S2-032,S2-037,S2-016,S2-019,S2-045,S2-046,S2-048漏洞验证。有对漏洞的命令执行功能、文件上传功能。还有批量验证功能。增加S2-046,官方发布S2-046...

    struts2.3.20版本jar包

    总之,如果你的Java Web应用基于Struts2,并且在Tomcat8上遇到“couldn't clear tomcat cache”的警告,升级到Struts2.3.20的jar包是一个有效的方法来解决这个问题,同时也能享受到这个版本带来的其他改进。...

    Struts2.3.32-all.zip

    - **ActionSupport**:Action类的基类,提供了常见的属性和方法,如国际化、错误/警告处理等。 - **Struts标签库**:提供了一系列的JSP标签,简化视图层的开发,如、等。 - **配置文件**:struts.xml是Struts2的...

    struts项目jar包

    4. **log4j.jar**:日志记录库,如Log4j,用于收集和记录应用程序运行时的调试信息、警告和错误,帮助开发者诊断问题。 5. **commons-logging.jar**:Apache Commons Logging,一个抽象的日志接口层,允许开发者...

    Struts2漏洞检查工具2018版.exe

    增加安恒信息研究员nike.zheng发现的S2-045,jakatar处理复杂数据类型时,异常处理不当,导致OGNL代码执行,通过在请求的Content-Type头中构造OGNL表达式来执行Java代码。http://struts.apache.org/docs/s2-045.html...

    struts2 必要的 5个jar

    在Struts2中,Commons Logging提供了一个统一的接口,使得框架能够记录调试信息、错误和警告,而无需关心具体的日志实现。这增加了项目的可移植性和灵活性。 这五个JAR文件构成了Struts2运行的基础,通过它们的协同...

    struts2 annotation 批量下载

    `Logger`接口和其实现类`LoggerFactory`用于记录应用程序运行时的信息,包括但不限于调试、信息、警告和错误等不同级别的日志。这有助于开发者及时发现并定位问题,保障系统的稳定运行。 ### 实体类与服务层交互 ...

    Struts应用开发完全手册(html标签)

    `&lt;html:errors&gt;`通常用于展示表单验证失败时的错误信息,而`&lt;html:messages&gt;`则用于显示一般性的系统消息,如通知或警告。 #### 页面初始化标签 在Struts应用中,`&lt;html:html&gt;`和`&lt;html:base&gt;`标签用于初始化页面...

    struts2.3.32lib包,漏洞修复

    这些漏洞可能包括但不限于远程代码执行(RCE)、拒绝服务(DoS)或信息泄露等。通常,安全漏洞是由于编程错误或不安全的配置导致的,它们可以让攻击者执行非授权操作,如控制服务器、窃取敏感数据或干扰正常服务。 ...

    Struts2添加SSL功能

    这通常包括提供服务器的域名信息和进行必要的验证。 2. **安装证书**:在服务器上安装SSL证书,这通常涉及到编辑或创建配置文件,如Apache的`httpd.conf`或Nginx的`nginx.conf`,并指定证书和私钥的位置。 3. **...

Global site tag (gtag.js) - Google Analytics