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
多谢各位了

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

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

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

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

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