zoukankan      html  css  js  c++  java
  • struts2 2.5.16 通配符方式调用action中的方法报404

    1、问题描述

    在struts.xml中配置用通配符方式调用action中的add()方法,访问 http://localhost:8080/Struts2Demo/helloworld_add.action时,出现了这个熟悉的错误:

    HTTP Status 404 – Not Found


    Type Status Report

    Message There is no Action mapped for namespace [/] and action name [helloworld_add] associated with context path [/Struts2Demo].

    Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.


    Apache Tomcat/8.5.35

    2、相关代码

    struts.xml中部分相关代码

    <package name="default" namespace="/" extends="struts-default">
            <action name="helloworld_*" method="{1}" class="com.icheny.action.HelloWorldAction">
                <result>/result.jsp</result>
                <result name="add">/{1}.jsp</result>
                <result name="update">/{1}.jsp</result>
            </action>
    </package>

    HelloWorldAction.java中部分相关代码

        public String add()
        {
            return "add";
        }
    
        public String update()
        {
            return "update";
        }

    3、原因

      由于struts2 2.5版本的安全度提高了一个台阶,通配符禁止使用,所有不安全的访问都必须要在struts.xml中声明允许。我用的是2.5.16版本的struts,因此出现了这个错误。

    4、解决方案

      在package中添加属性:strict-method-invocation="false"

      修改之后的struts.xml中的package部分代码为:

    <package name="default" namespace="/" extends="struts-default" strict-method-invocation="false">
            <action name="helloworld_*" method="{1}" class="com.icheny.action.HelloWorldAction">
                <result>/result.jsp</result>
                <result name="add">/{1}.jsp</result>
                <result name="update">/{1}.jsp</result>
            </action>
    </package>

      再次访问http://localhost:8080/Struts2Demo/helloworld_add.action,正常跳转:

              

  • 相关阅读:
    iOS开发UI篇—CAlayer简介
    iOS开发UI篇—ios手势识别(双击、捏、旋转、拖动、划动、长按, 上下左右滑动)
    录屏专家
    加载Gif图片方法
    制作酸奶方法
    UITabBar小红点(适配iPad)
    那些著名或非著名的iOS面试题-后编
    iOS学习资源
    实用的Mac软件
    安装iOS企业包流程
  • 原文地址:https://www.cnblogs.com/iCheny/p/10963050.html
Copyright © 2011-2022 走看看