与struct2集成部署报错404

合集下载

struts2学习笔记——常见报错及解决方法汇总(持续更新)

struts2学习笔记——常见报错及解决方法汇总(持续更新)

struts2学习笔记——常见报错及解决⽅法汇总(持续更新)操作环境:(1)Tomcat 7.0.72.0 (2)OS Name: Windows 7 (3)JVM Version: 1.8.0_25-b18 (4)eclipse Version: Kepler Service Release 2 (5)struts2 version:struts2-core-2.5.10.11.通配符访问⽅法,报错404错误找不到页⾯ (1)错误原因:struts.xml中缺少<global-allowed-methods>regex:.*</global-allowed-methods>,根据字⾯理解就是允许以*通配符的⽅式访问⽅法 (2)详细错误:HTTP Status 404 - There is no Action mapped for namespace [/] and action name [] associated with context path [/struts2002]. (3)报错截图:(4)解决⽅案:在package标签之间添加<global-allowed-methods>regex:.*</global-allowed-methods>即可2.编写struts.xml时编译报错 (1)错误原因:<package></package>中的标签必须按顺序书写,否则会报错 (2)详细错误:The content of element type "package" must match "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-allowed-methods?,global-exception-mappings?,action*)". (3)报错截图: (4)解决⽅案:检查顺序是否正确 result-types interceptors default-interceptor-ref default-action-ref default-class-ref global-results global-exception-mappings action*。

myeclipse添加新的框架jar包后出现404

myeclipse添加新的框架jar包后出现404

myeclipse添加新的框架jar包后出现404今天在学框架的时候,因为要测试新的功能点,所以添加了新的框架jar包(struts2),可是,当web工程重新运行的时候,myeclipse的自动浏览器(web browser)的页面显示却出现了404报错。

这很明显,就是服务器因为某些原因找不到页面了。

但这很奇怪,我明明在新添加jar包前,程序还运行得好好的,一切都正常显示,可就为什么添加了新的包后会出现了404情况呢?由于自己又是刚学框架,一下子就有点懵了...再大概扫了一下myeclipse的控制台输出,服务器是正常开启了,但有“严重:……”的,所以觉得这个应该是配置或是其他的包冲突(所以服务器不知道要认哪个好)。

再仔细看了一下里面警告信息,发现有个路径,路径下的包貌似不是我当前工程中有的包(后来想起这个包是一开始我在/WEB-INF/lib添加的比较旧版本的包,后来因为要替换新版本的jar包,所以把这个久的给删了,但这就造成了接下来的错误了),然后我想,我不是删了吗,怎么还会报出这个包呢?然后按上面的路径(注意,这个路径就是myeclipse的服务器路径,因为我这个工程是直接用myeclipse自带的tomcat服务器开启的)打开了目录,一打开,就知道原因了,里面还有我之前用的那个久版本的jar包,虽然在myeclipse工程文件里删除了,可是myeclipse已经把该包弄到其自带的服务器目录下了,所以后来再添加同类型不同版本的jar包,虽然在myeclipse的工程目录下没看到,但在启动服务器时就会起冲突了...另外,还发现了几个myeclipse自动添加的jar包(myeclipse好像会自动添加一些我们可能用不到的包),于是,我把这几个包一并删了,重启该web工程,结果正常运行了。

总结一下,也方便大家看是否也是我这个问题,我抓出几个关键点:1、myeclipse环境;2、用myeclipse自动服务器;3、Struts2框架;4、新添加jar包;5、404报错;6、原先运行没问题。

【JavaWeb】接口请求404的问题排查

【JavaWeb】接口请求404的问题排查

【JavaWeb】接⼝请求404的问题排查
响应状态404:404 Page Not Found
根本原因:
服务器找不到这个地址描述的页⾯资源,注意是页⾯资源
可能的出现的开发情况:
1、请求的资源可能真的不存在,是接⼝,也可以是页⾯
2、你写了路径,但是资源不存在,或者你写了资源,但是路径不存在
3、你写对了路径也绑定了资源,你请求的路径不对
4、接⼝响应的是数据,但是定义成页⾯来响应【Web接⼝没有注解 @ResponseBody】
5、页⾯⽂件放在Tomcat的⼀个安全⽬录【WEB-INF】中,不允许使⽤Get请求直接访问和重定向跳转
问题原因:
做接⼝迁移(其实就是⽆脑CV)发现这样⼀个情况
有⼀个Controller是之前已经有⼈写过了,迁移的时候我检查了代码内容,发现作者是⼀样的,代码结构也没发⽣变化就不需要我CV过来了,但是跑UAT测试的时候发现整个Controller提供的接⼝没有⼀个有效
全部请求都是404。

分析情况:
代码合版到测试这块不是我来操作的,在基于⾃⼰本地运⾏没问题的情况下
能推导出的情况就只能是发版的开发没有提交到UAT
证明:
项⽬的服务是放在Linux服务器⾥⾯的,⼀般情况是为了本地跑不了测试只能去服务器抓⽇志看BUG才访问的
这个问题也是⼀样,只能上去看看⽂件的情况
本地代码拉下来是存在这个⽂件的
到服务器⾥⾯查看⽂件结构:
可以发现连⽬录都不存在
解决:
问题确凿,可以直接找到提版⼈说明情况发个版就好了。

如何在自动化测试中处理404错误

如何在自动化测试中处理404错误

如何在自动化测试中处理404错误随着互联网技术的不断发展,越来越多的网站和应用程序被开发和部署。

作为开发人员和测试人员,我们需要确保这些系统的稳定性和可靠性。

自动化测试已经成为了测试中不可或缺的一部分,而在自动化测试过程中,404错误则是常见的问题之一。

什么是404错误?在互联网上,404错误指的是当你访问一个不存在的网页时,服务器会返回一个“404 Not Found”错误页面。

这种错误通常发生在以下情况下:1. 用户输入了错误的URL地址;2. 网站的链接已经被移除或更改;3. 网站的服务器故障或网络问题。

无论何种原因导致的404错误,都可能会对网站的访问量和用户体验产生负面影响。

自动化测试中的404错误在自动化测试中,我们通常会使用Selenium等工具来模拟用户的行为,访问网站的各个页面和功能模块。

如果测试中遇到404错误,通常会导致测试失败,甚至会导致整个自动化测试过程中断。

因此,对于自动化测试中的404错误,我们需要采取相应的处理措施。

处理404错误的方法处理404错误的具体方法有很多种,下面列举了一些常用的方法:1. 页面验证在执行自动化测试之前,我们可以通过访问所有的页面和功能模块,验证链接是否可用,以避免出现404错误。

这是一种比较可靠的方法,但会占用较多的时间和资源。

2. 异常捕获在自动化测试中,我们可以在代码中添加异常捕获机制,当出现404错误时,及时捕获并处理。

这种方法比较简单,但是需要考虑到可能出现的所有异常,否则会出现测试失败等问题。

3. 自动重试当遇到404错误时,我们可以通过设置自动重试次数的方法,进行多次尝试访问。

这种方法可以有效避免因网络问题导致的404错误,但可能会增加测试时间和资源占用。

4. 跳过错误在执行自动化测试时,我们可以设置跳过错误的选项,当出现404错误时,不影响后续测试的进行,可以快速定位其他问题。

但是,这种方法可能会忽略一些网络问题和代码问题。

404是什么意思

404是什么意思

404是什么意思什么是404错误在网络世界中,我们经常会遇到404错误。

当访问一个网页时,如果网页无法在服务器上找到,就会返回一个404错误。

这个错误代码提示我们所请求的网页不存在。

为什么会出现404错误出现404错误可能有多种原因:1.该网页已被删除或移动到其他位置,但链接未进行更新。

当我们点击一个旧的链接时,就会遇到404错误。

2.网页的URL拼写错误。

如果我们错误地输入了网页的URL,或者URL中的某些字符有误,就会导致404错误。

3.服务器出现故障。

有时候,服务器可能会发生故障,无法正常提供网页,这时候会返回404错误。

无论是由于网页的问题还是服务器的问题,当我们遇到404错误时,我们无法访问所需的网页。

如何处理404错误当我们遇到404错误时,可以采取以下几个步骤来处理:1.检查URL是否拼写正确。

首先,我们需要仔细检查所访问的URL是否正确。

如果发现拼写错误,我们应该尝试重新输入正确的URL。

2.点击刷新按钮。

有时候,404错误只是暂时的问题。

通过点击浏览器中的刷新按钮,我们可以尝试重新加载网页,看看是否能够解决问题。

3.执行搜索操作。

如果我们认为所需的网页应该存在,但无法通过URL直接访问,可以尝试在搜索引擎中搜索相关内容。

通过搜索,我们可能能够找到正确的URL或相关信息。

4.联系网站管理员。

如果我们认为网页的URL是正确的,但仍然无法访问,我们可以联系网站管理员寻求帮助。

他们可能会提供正确的URL或解决其他问题。

404错误的解决方法除了上述处理404错误的方法以外,还有一些其他的技术手段来解决这个问题:1.301重定向:如果我们曾经访问过某个URL,但这个URL现在已经不存在了,网站管理员可以通过301重定向来解决问题。

301重定向将旧的URL自动重定向到一个新的URL,以确保用户可以访问到所需的内容。

2.自定义404页面:网站管理员可以设置一个自定义的404页面,对用户提供更好的体验。

springboot项目部署后404的问题

springboot项目部署后404的问题

登录后才能查看或发表评论立即登录或者逛逛博客题
是因为打包的时候,没有把webapp打包进去
pom.xml 在build 里加入下面的依赖即可
<!-- resources插件,在打jar包时可以将webapp目录下的文件进行打包 --> <resources> <resource> <!-- 指定resources插件处理哪个目录下的资源文件 --> <directory>src/main/webapp</directory> <!--注意此次必须要放在此目录下才能被访问到 --> <targetPath>META-INF/resources</targetPath> <includes> <include>**/**</include> </includes> </resource> <!-- 将项目中的配置文件,打包至classes下面 --> <resource> <directory>src/main/resources</directory> </resource> </resources>

基于Django静态资源部署404的解决方法

基于Django静态资源部署404的解决方法

基于Django静态资源部署404的解决⽅法⼀. 静态资源static⽂件放在app中确认django.contrib.staticfiles包含在INSTALLED_APPS中。

在settings⽂件中定义STATIC_URL,例如:STATIC_URL = '/static/'在模板中,可以硬编码URL如/static/my_app/example.jpg,或者最好使⽤static模板标签通过配置的STATICFILES_STORAGE存储来构建给定相对路径的URL(当你要切换到⽤于提供静态⽂件的内容分发⽹络(CDN)时,这样做会更容易)。

{% load static %}<img src="{% static "my_app/example.jpg" %}" alt="My image"/>在你的应⽤中,将静态⽂件存储在名为static的⽬录下。

例如my_app/static/my_app/example.jpg。

⼆. 静态资源static放在任意⽬录中(使⽤此⽅法解决404错误)你的项⽬可能还有⼀些静态⽂件不属于任何⼀个特定的应⽤。

除了在应⽤中使⽤static/⽬录,你还可以在settings⽂件中定义⼀个⽬录列表(STATICFILES_DIRS),Django会在其中查找静态⽂件。

像这样:STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"),'/var/www/static/',]以上这篇基于Django静态资源部署404的解决⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

系统接口404异常的处理方法

系统接口404异常的处理方法

系统接口404异常的处理方法
系统接口出现404异常通常意味着所请求的接口地址不存在或无法找到。

以下是一些处理404异常的常用方法:
1.检查接口地址:
o确认接口地址是否正确,包括协议(如http或https)、域名、路径和参数。

o检查是否有拼写错误或接口地址的变更。

o查看接口文档或与开发人员沟通,确保使用的是正确的接口地址。

2.检查接口服务状态:
o确认提供接口的服务器或服务是否正常运行。

o检查是否有服务停止、故障或服务器问题导致的404异常。

o可以联系相关的技术人员或运维人员来获取服务状态的信息。

3.检查网络连接:
o确保客户端能够正常访问网络,并且没有防火墙或安全策略阻止访问接口。

o尝试使用其他网络或设备访问接口,以排除网络问题。

4.查看服务器日志:
o如果可能的话,查看服务器端的日志,了解请求的处理过程和可能的错误原因。

o日志中可能包含有关请求路径、状态码和错误消息的详细信息。

5.检查前端页面或客户端代码:
o如果是在前端页面或客户端代码中调用接口,确保代码中使用的接口地址是正确的。

o检查是否有前端页面未正确配置或缺失的情况,导致无法正确请求接口。

6.联系开发人员或技术支持:
o如果以上方法都无法解决问题,可以联系负责接口开发的开发人员或技术支持团队寻求帮助。

o提供详细的错误信息、请求参数和日志,以便他们能够更快地定位和解决问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

部署集成》服务器部署》常见部署问题》与struct2集成部署报错404
描述
报错信息
报错原因
解决方案
1.描述
将报表应用与自己的项目嵌入部署之后,比如自己项目使用了struts2,访问fs之后出现报错
2报错信息
There is no Action mapped for namespace [/] and action name [ReportServer] associated with context path [].
description The requested resource (There is no Action mapped for namespace [/] and action name [ReportServer] associated with context path [].) is not available
3.报错原因
web.xml里面struts的 /* 拦截导致的,在解决之前,web.xml里面代码为
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.解决方案
修改web.xml上面的代码部分为下面内容
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name> <url-pattern>/*.action</url-pattern> </filter-mapping>。

相关文档
最新文档