Failed to load resource: the server responded with a status of 404

2024-06-23 11:38

本文主要是介绍Failed to load resource: the server responded with a status of 404,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

搞来搞去附件下载请求的地址老包404,我用的easyui1.5   引用下载插件

<script type="text/javascript" src="${ctx}/js/fileUploadOver.js"></script>

注意后期版本有所改动,没了

 success: function(data, status)  //服务器成功响应处理函数
                            {
                                $.messager.progress("close");
                                $('#uploadDiv').dialog('close');
                                $.messager.alert("提示",data.msg);
                              //  $('#tt').treegrid('reload');
                            },
                            error: function (data, status, e)//服务器响应失败处理函数
                            {
                                $.messager.progress("close");
                                $('#uploadDiv').dialog('close');
                                $.messager.alert("错误",e);
                            }
                        }

只需要在Jquery.js添加上


  1.  jQuery.extend({  
  2.                 handleError: function (s, xhr, status, e) {  
  3.                     if (s.error) {  
  4.                         s.error.call(s.context || s, xhr, status, e);  
  5.                     }  
  6.                     if (s.global) {  
  7.                         (s.context ? jQuery(s.context) : jQuery.event).trigger("ajaxError", [xhr, s, e]);  
  8.                     }  
  9.                 },  
  10.                 httpData: function (xhr, type, s) {  
  11.                     var ct = xhr.getResponseHeader("content-type"),  
  12.             xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0,  
  13.             data = xml ? xhr.responseXML : xhr.responseText;  
  14.                     if (xml && data.documentElement.tagName == "parsererror")  
  15.                         throw "parsererror";  
  16.                     if (s && s.dataFilter)  
  17.                         data = s.dataFilter(data, type);  
  18.                     if (typeof data === "string") {  
  19.                         if (type == "script")  
  20.                             jQuery.globalEval(data);  
  21.                         if (type == "json")  
  22.                             data = window["eval"]("(" + data + ")");  
  23.                     }  
  24.                     return data;  
  25.                 }  
  26.             })  

使用Convention插件,你需要将其JAR文件放到你应用的WEB-INF/lib目录中

配置例子:

<constant name="struts.convention.default.parent.package" value="crud-default" />
?<constant name="struts.convention.package.locators" value="web,action" />
?<constant name="struts.convention.package.locators.basePackage" value="com.cngba.gamemag" /> 
<constant name="struts.convention.result.path" value="/WEB-INF/pages" />
<constant name="struts.convention.action.name.separator" value="-" />

1. 默认所有的结果页面都存储在WEB-INF/content下,你可以通过设置struts.convention.result.path这个属性的值来改变到其他路径。如:
Xml代码
<constant name="struts.convention.result.path" value="/WEB-INF/page" />
则将路径配置到了WEB-INF/page 下。
2. 默认包路径包含action,actions,struts,struts2的所有包都会被struts作为含有Action类的路径来搜索。你可以通过设置struts.convention.package.locators属性来修改这个配置。如:
<constant name="struts.convention.package.locators" value="web,action" />

3. 接着,Convention从前一步找到的package以及其子package中寻找 com.opensymphony.xwork2.Action 的实现以及以Action结尾的类:
Java代码
com.example.actions.MainAction
com.example.actions.products.Display (implements com.opensymphony.xwork2.Action)
com.example.struts.company.details.ShowCompanyDetailsAction
4. 命名空间。从定义的.package.locators标示开始到包结束的部分,就是命名空间。举个例子:
Com.ustb.web.user.userAction的命名空间是:”/user”。Com.ustb.web.user.detail.UserAction的命名空间是:”/user/detail”

5. Convention通过如下规则确定URL的具体资源部分:去掉类名的Action部分。然后将将每个分部的首字母转为小写,用’-’分割,你可以设置struts.convention.action.name.separator 如

Xml代码
<constant name="struts.convention.action.name.separator" value="-" />
还是举个例子:
UserAction->user UserDetailAction ->user-detail。结合上面的。对于com.ustb.web.user.detail.UserDetailAction,映射的url就是/WEB-INF/content/user/detail/user-detail.jsp

当然,简单的通过默认的方式来进行配置不能完全满足实际项目的需要。所幸,convention的零配置是非常灵活的。

通过@Action注释
对如下例子:

Java代码
package com.example.web;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
public class HelloAction extends ActionSupport {
@Action("action1")
public String method1() {
return SUCCESS;
}
@Action("/user/action2")
public String method2() {
return SUCCESS;
}
}

方法名 默认调用路径 默认映射路径
method1 /hello!method1.action . /WEB-INF/content/hello.jsp
method2 /hello!method2.action. /WEB-INF/content/hello.jsp

通过@Action注释后

方法名 @Action注释后调用路径 @Action注释 后映射路径
method1 /action1!method1.action. /WEB-INF/content/action1.jsp
method1 /user/action2!method2.action /WEB-INF/content/user/action2.jsp


404搞来搞去原来是只声明命名空间的情况下,请求指定类的方法的时候需要满足

fiscal/fiscal-message!fiscal.action      ------------------------------@Namespace("/fiscal")   类是  FiscalMessageAction      方法是 pubic void fiscal()

由于未对方法加action注解类要必须按着这种规范。

我的理解是这样的,不对请指出。

这篇关于Failed to load resource: the server responded with a status of 404的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087057

相关文章

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

Anaconda 中遇到CondaHTTPError: HTTP 404 NOT FOUND for url的问题及解决办法

最近在跑一个开源项目遇到了以下问题,查了很多资料都大(抄)同(来)小(抄)异(去)的,解决不了根本问题,费了很大的劲终于得以解决,记录如下: 1、问题及过程: (myenv) D:\Workspace\python\XXXXX>conda install python=3.6.13 Solving environment: done.....Proceed ([y]/n)? yDownloa

red5-server源码

red5-server源码:https://github.com/Red5/red5-server

类的load方法和initialize方法对比

1. load方法在main()之前被调用,而initialize方法在main()之后调用 load方法实际是在load_images过程中被调用的。load_images会将当前应用依赖的所有镜像(动态库)加载到内存,在在加载中首先是对镜像进行扫描,将所有包含 load 方法的类加入列表 loadable_classes ,然后从这个列表中逐一调用其所包含的 load 方法。 +[XXCl

android java.io.IOException: open failed: ENOENT (No such file or directory)-api23+权限受权

问题描述 在安卓上,清单明明已经受权了读写文件权限,但偏偏就是创建不了目录和文件 调用mkdirs()总是返回false. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_E

UserWarning: mkl-service package failed to import

安装完成anaconda,并设置了两个环境变量  之后再控制台运行python环境,输入import numpy as np,提示错误 D:\InstallFolder\Anaconda3\lib\site-packages\numpy\__init__.py:143: UserWarning: mkl-service package failed to import, therefore

安装SQL2005后SQL Server Management Studio 没有出来的解决方案

一种情况,在安装 sqlServer2005 时 居然出现两个警告: 1 Com+ 目录要求 2 Edition change check 郁闷!网上说出现两个警告,是肯定装不成功的!我抱着侥幸的态度试了下,成功了。 安装成功后,正准备 “ 仅工具、联机丛书和示例(T)” 但是安装不了,他提示我“工作站组件”安装过了对现有组件无法更新或升级。 解决办法: 1 打开“控

Python安装llama库出错“metadata-generation-failed”

Python安装llama库出错“metadata-generation-failed” 1. 安装llama库时出错2. 定位问题1. 去官网下载llama包 2.修改配置文件2.1 解压文件2.2 修改配置文件 3. 本地安装文件 1. 安装llama库时出错 2. 定位问题 根据查到的资料,发现时llama包中的execfile函数已经被下线了,需要我们手动修改代码后

java读取resource/通过文件名获取文件类型

java读取resource java读取resource目录下文件的方法: 借助Guava库的Resource类 Resources.getResource("test.txt") 通过文件名获取文件类型 mongodb java

ERROR 2003 (HY000): Can't connect to MySQL server on (10061)

在linux系统上装了一个mysql-5.5,启动后本机都是可以访问的,操作都正常,同时建了一个%的用户(支持远程访问), root@debian:/# mysql -u loongson -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id