我是付刚 2015-08-11 01:54 采纳率: 100%
浏览 2210
已采纳

struts 2,ajax返回json的404问题

今天尝试用struts时,发现这样一个问题。
前端ajax发送的请求总是报404。
以下是代码段,请各位看看问题出在哪里。

首先是Struts.xml

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <constant name="struts.devMode" value="true" />
    <package name="user" extends="json-default">
        <action name="login" class="com.action.UserAction" method="login">
            <result type="json" />
        </action>
    </package>  
</struts>

接下来是前台的js

    /*登录方法*/
        var login = function(){
            $.ajax({
                url:'login.action',
                async:false,
                dataType:'json',
                data:{

                },
                success:function(data){
                    console.log(data);
                }
            });
        };

错误信息:

404 There is no Action mapped for namespace / and action name login
显示的路径为
http://localhost:8081/family/login.action

jar包

求教问题究竟在哪里


问题已经找到!
本人手残了
把struts.xml写成了Struts.xml
多谢各位了

  • 写回答

5条回答 默认 最新

  • sky8234301 2015-08-11 05:29
    关注

    1,看你跳转前端页面的方法跟你登陆的方法在不在同一个action 下面2,看你tomcat 下项目的代码跟你eclipse 下的代码是否同步3,有可能你的struts、xml 写错了可以去查一下struts 官方文档怎么写

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • zw0283 2015-08-11 01:57
    关注

    貌似是命名空间的问题吧,好久之前遇到过,忘了怎么处理了,不过报错提示应该是命名空间的问题,就是你package的name

    评论
  • inc1ud3 2015-08-11 04:44
    关注

    js的url需要改一下,改成user/login.action试一下
    因为你的配置文件里写的package name=“user”
    而url写的是login.action所以struts2会去/目录下找
    所以找不到。

    评论
  • 我是付刚 2015-08-11 06:11
    关注

    马勒戈壁的,我手残了。
    问题解决了!
    把struts.xml 写成了Struts.xml了

    评论
  • 另一花生 2015-08-11 16:19
    关注

    看来大小写字符是不承认的

    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 关于#tensorflow#的问题:有没有什么方法可以让机器自己学会像素风格的图片
  • ¥15 Oracle触发器字段变化时插入指定值
  • ¥15 docker无法进入容器内部
  • ¥15 qt https 依赖openssl 静态库
  • ¥15 python flask 报错
  • ¥15 改个密码引发的项目启动问题
  • ¥100 CentOS7单线多拨
  • ¥15 debian安装过程中老是出现无法将g21dr复制到g21dr怎么解决呀?
  • ¥15 如何用python实现跨工作簿的指定区域批量复制粘贴
  • ¥15 基于CH573f的雷迪安CR1400m通讯代码