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

struts2中怎样处理404?的更多相关文章

  1. <welcome-file>index.action</welcome-file>直接设置action,404和struts2中的解决方案

    这几天的项目页面的访问全部改为.action访问,在修改首页时遇到了问题.将web.xml文件中<welcome-file>index.action</welcome-file> ...

  2. struts2中<welcome-file>index.action</welcome-file>直接设置action,404的解决方案

    这几天的项目页面的访问全部改为.action访问,在修改首页时遇到了问题.将web.xml文件中<welcome-file>index.action</welcome-file> ...

  3. Struts2中重定向和请求转发配置

    struts2中默认跳转为dispatcher请求转发 只能往jsp转发,跳转action报404 重定向 设置为redirect ,可以是jsp也可以是action <!--同一个包下的act ...

  4. Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效

    问题:在Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效了,不但调转不过去还报404错误.不知 ...

  5. struts2中struts.xml配置文件详解

    struts.xml的常用配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts ...

  6. 关于Struts2中的ognl-2.6.11.jar和ognl-2.7.3.jar解决思路

    关于Struts2中的ognl-2.6.11.jar和ognl-2.7.3.jar建了一个简单的工程:导入的jar包有六个,包括commons-fileupload-1.2.1.jarcommons- ...

  7. struts2中 jsp:forward 失败原因及解决办法

    问题:在Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效了,不但调转不过去还报404错误.不知 ...

  8. struts2 中 result type="stream"

    Stream result type是Struts2中比较有用的一个feature.特别是在动态生成图片和文档下载的情况下 1:图片验证码: Action类,action主要要提供一个获取InputS ...

  9. struts2中从后台读取数据到<s:select>

    看到网上好多有struts2中从后台读取数据到<s:select>的,但都 不太详细,可能是我自己理解不了吧!所以我自己做了 一个,其中可能 有很多不好的地方,望广大网友指出 结果如图 p ...

随机推荐

  1. Centos7更改网卡名为eth0

    1.先更该网卡配置文件设备名和网卡名参数: vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 NAME=eth0DEVICE=eth0 2.将配 ...

  2. Android AutoCompleteTextView控件实现类似百度搜索提示,限制输入数字长度

    Android AutoCompleteTextView 控件实现类似被搜索提示,效果如下 1.首先贴出布局代码 activity_main.xml: <?xml version="1 ...

  3. 处理eq问题

    using System;using System.Diagnostics;using System.Drawing;using System.IO;using System.Windows.Form ...

  4. [BZOJ4990][Usaco2017 Feb]Why Did the Cow Cross the Road II dp

    4990: [Usaco2017 Feb]Why Did the Cow Cross the Road II Time Limit: 10 Sec  Memory Limit: 128 MBSubmi ...

  5. asp.net如何更改默认的登陆帐号/密码:16aspx/16aspx

    修改数据库,在DB_16aspx文件夹下面 sql server 2005+的数据库打开.

  6. (6)sql/puls

    host   在sql/puls中使用cmd或linux操作系统的命令

  7. HDU 17新生赛 正品的概率【数论-概率论】

    正品的概率 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  8. cdq分治浅谈

    $cdq$分治浅谈 1.分治思想 分治实际上是一种思想,这种思想就是将一个大问题划分成为一些小问题,并且这些小问题与这个大问题在某中意义上是等价的. 2.普通分治与$cdq$分治的区别 普通分治与$c ...

  9. WSS3SDK之:服务器和站点架构:对象模型概览

    源出处:http://www.cnblogs.com/Sunmoonfire/archive/2011/01/18/1937884.html Windows SharePoint Services提供 ...

  10. [HDU4336]Card Collector(min-max容斥,最值反演)

    Card Collector Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...