我是付刚
2015-08-11 01:54
采纳率: 75%
浏览 2.2k
已采纳

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 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 04:50

    1、如果没有特殊的需要请将extends="json-default"改回默认值
    2、你的命名空间包名叫package name="user",访问路径中要使用他
    即:http://localhost:8081/user/login.action
    3、你的web.xml确认是否有拦截.action的后缀请求(没准是.do)

    打赏 评论
  • 我是付刚 2015-08-11 06:11

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

    打赏 评论
  • 另一花生 2015-08-11 16:19

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

    打赏 评论

相关推荐 更多相似问题