当前位置: 首页 > news >正文

struts2中怎样处理404?

眼下在做一个网络应用程序,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错误了。

相关文章:

  • 一张图让你学会LVM
  • WiFi替代者LiFi首次实测结果出炉:1Gbps
  • 解读:四点让云计算引发全球变革
  • 数据蒋堂 | 开放的计算能力为数据库瘦身
  • 数据分析流程这么长,产品经理如何一人搞定?
  • 马斯克的OpenAI,究竟是如何在dota2中击败顶级人类选手的?
  • 《程序员度量:改善软件团队的分析学》一连接活动与目标
  • 解密:智能美妆和动效自拍背后的技术
  • Linux I2C(一)之常用的几种实例化(i2c_client ) 【转】
  • 全是数据的物联网怎么把黑客挡在门外?
  • 无线充电两大标准合并 但你还得头疼选哪家
  • 乂学教育朋友印象创始人栗浩洋:AI教育,为学习效率带来10倍提升 | CCF-GAIR 2017...
  • 企业级闪存存储市场——抑或是供应商的墓地?
  • Attention-over-Attention Neural Networks for RC
  • 安全研究人员发现可以利用推特控制僵尸网络
  • 深入了解以太坊
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【面试系列】之二:关于js原型
  • axios 和 cookie 的那些事
  • Bootstrap JS插件Alert源码分析
  • crontab执行失败的多种原因
  • DOM的那些事
  • input实现文字超出省略号功能
  • Java-详解HashMap
  • JS字符串转数字方法总结
  • PHP 小技巧
  • SQLServer之索引简介
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 从0到1:PostCSS 插件开发最佳实践
  • 对象管理器(defineProperty)学习笔记
  • 前端面试之CSS3新特性
  • 数组的操作
  • 用mpvue开发微信小程序
  • 优化 Vue 项目编译文件大小
  • 主流的CSS水平和垂直居中技术大全
  • 整理一些计算机基础知识!
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • ​香农与信息论三大定律
  • #laravel 通过手动安装依赖PHPExcel#
  • (1)虚拟机的安装与使用,linux系统安装
  • (9)STL算法之逆转旋转
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (转)原始图像数据和PDF中的图像数据
  • .Net IE10 _doPostBack 未定义
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .net程序集学习心得
  • .net和jar包windows服务部署
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • ??javascript里的变量问题
  • [100天算法】-实现 strStr()(day 52)
  • [20171113]修改表结构删除列相关问题4.txt
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • [Android View] 可绘制形状 (Shape Xml)