目前在做一个网络应用程序,struts2 + spring + hibernate,服务器是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.xml的配置能拦截全局异常,只要出现异常就会转向异常页面。
4、对于需要登录的页面,请勾选“设置全局Cookie值”,并填好相应的Cookie,程序每次发包都会带上Cookie。 5、作者对不同的struts2漏洞测试语句做了大量修改,执行命令、上传功能已经能通用。 6、支持HTTPS。 7、...
8.1.1 页面上:如何使用自定义结果组件构建Struts 2 Ajax应用程序 171 8.1.2 实现JSON结果类型 173 8.2 常用的结果类型 180 8.2.1 RequestDispatcher,也叫做dispatcher 180 8.2.2 ServletRedirectResult,也叫做...
十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...
7.2.3 Struts2全局异常提示定义属性文件使用介绍 147 第8章 Struts2输入校验 149 8.1 validate输入校验方式再谈 149 8.1.1 复习validate方法进行输入校验 149 8.1.2 validateXXX方法进行输入校验 153 8.2 利用配置...
1.Struts2_01_login 对应登录。。 login.jsp---------------------------------------html标签的登陆页面 login_struts2.jsp-------------------------------采用struts标签的登陆页面 login_struts_...
struts2 最新的入门实例 我自己总结的 呵呵,欢迎提出宝贵的意见 1.Struts2_01_login 对应登录。。 login.jsp---------------------------------------html标签的登陆页面 login_struts2.jsp--------------...
1.Struts2_01_login 对应登录。。 login.jsp---------------------------------------html标签的登陆页面 login_struts2.jsp-------------------------------采用struts标签的登陆页面 login_struts_...
1.Struts2_01_login 对应登录。。 login.jsp---------------------------------------html标签的登陆页面 login_struts2.jsp-------------------------------采用struts标签的登陆页面 login_struts_...
默认登录页面 http://localhost:8080/Struts_ljq 用户密码admin,admin。登录成功页面有add,delete,modify方法,配置有不同拦截,在后台看拦截信息。 有全局拦截器配置和方法拦截,及监听器简单运用, 仅新手学习...
实验目的: 熟悉和掌握Struts2自定义类型转换。 熟悉和掌握Struts2内建校验的操作方法 ...(2) 根据实验四的图书管理系统,扩展图书新增功能,要求对新增页面表单中的每个文件输入框进行输入校验
2 Action 研究.........................................................................................................................8 2.1 访问Servlet API................................................
第2章深入Struts结构 8 2.1人介绍应用框架 mvc和model2 8 2.2 Struts原理、开发及项目实施 8 2.3使用STRUST控制流 8 2.4讨论STRUTS的优缺点 9 2.5 Struts入门经验 9 2.6用strtus制作登陆页面: 9 第3章Struts 基础...
2. 深入 STRUTS架构..................................................................................37 2.1. 随便谈谈......................................................................................
2. 深入STRUTS 架构..................................................................................37 2.1. 随便谈谈.......................................................................................
我们在做项目中肯定都会遇到自定义业务异常 ,然后将业务异常信息跳转的统一的信息提示页面的情况,比如我们在struts的时候我们会用到struts的异常处理机制,我们在业务层会跑出我们遇到业务处理异常 ,然后交由...
教室角色包含以下功能:可以撤回预约,查看排期表,查询所有预约,课程管理,预约实验室-1,预约实验室-2,登录页面等功能。 管理员角色包含以下功能:全局搜索预约情况,删除公告,发布公告,查看-删除教师,查看实验室,...
教室角色包含以下功能:可以撤回预约,查看排期表,查询所有预约,课程管理,预约实验室-1,预约实验室-2,登录页面等功能。 管理员角色包含以下功能:全局搜索预约情况,删除公告,发布公告,查看-删除教师,查看实验室,...