博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts2中怎样处理404?
阅读量:7227 次
发布时间:2019-06-29

本文共 1079 字,大约阅读时间需要 3 分钟。

眼下在做一个网络应用程序,struts2 + spring + hibernate,server是tomcat。希望用户在IE地址栏乱敲的时候。所敲入的全部没有定义的URL都能被程序捕捉到,然后转到一个自制的404错误处理页面。

首先查阅网上的资料,得知能够在web.xml中增加这么一段:

<error-page>

   <error-code>404</error-code>
   <location>/error/404.jsp</location>
</error-page>

这样,所以未找到的404错误都会转到/error/404.jsp接受处理。

可是经过试验,我发现以.action结尾的URL会先被struts2框架所捕获,而不会直接转入web.xml中配置的处理页面。这样,假设在struts.xml没有配置对应的action,则会在tomcat里输出错误:

严重: Could not find action or result

There is no Action mapped for namespace / and action name ******. - [unknown location]

尽管最后也能转入web.xml中配置的处理页面,可是这样在命令台瞎输出一些东西,很不便于程序的管理和调试,所以还得想办法让struts2框架处理没有定义的action。

查阅网上资料。发现能够在struts.xml中,加入一个默认的package。然后在这个默认的package中。加入一个默认的action,让这个action转向404错误处理页面:

<package name="default" extends="struts-default">

   <default-action-ref name="notFound" />
   <action name="notFound">
    <result>/error/404.jsp</result>
   </action>
</package>

默认的package的特点就在于不定义namespace属性,这样全部没有定义的namespace都会转向这里。

name="default"是为了便于阅读,事实上name是什么都能够,也能够为空:name=""。

然后还要在其他已定义的package中也加入默认的action。转向404错误处理页面。

这样就能够全然处理全部的404错误了。

转载于:https://www.cnblogs.com/yutingliuyl/p/7260225.html

你可能感兴趣的文章
LC #75 JS
查看>>
js正则验证代码库
查看>>
常见面试题—css实现垂直水平居中
查看>>
lc682. Baseball Game
查看>>
重学前端-css选择器
查看>>
iOS开发之扫描二维码
查看>>
Android黑科技: 快速找到view所在的xml文件
查看>>
linux分区方案
查看>>
003-Java技术体系
查看>>
超轻量模板引擎
查看>>
JavaScript 复习之 Object对象的相关方法
查看>>
JAVA之流程控制语句
查看>>
Spring Boot(1)
查看>>
Winodws 10 美化与调优
查看>>
apache安装及多域名解析及域名代理
查看>>
什么是自动化运维 ? 自动化运维的设计思路以及实战
查看>>
Python练习实例100例(持续更新中)
查看>>
非父组件通信
查看>>
Electron系列文章-主进程与渲染进程
查看>>
高性能缓存服务器 nuster v1.8.8.2 和 v1.7.11.2 发布
查看>>