`
baobeituping
  • 浏览: 1067817 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

struts2 设置全局404页面

 
阅读更多

目前在做一个网络应用程序,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 全局结果集

    在Struts2中,全局结果集(Global Results)是一种设计模式,它允许开发者定义一组通用的结果,这些结果可以在整个应用中重用,而无需在每个Action类中单独配置。这提高了代码的复用性和维护性。 全局结果集的概念...

    struts2处理项目全局异常

    项目中出现的异常通常要用一个友好的异常页面来显示,通过对struts2.xml的配置能拦截全局异常,只要出现异常就会转向异常页面。

    struts2完全捕获404错误的方法

    例如,我们可以设置一个名为`404`的全局结果,指向一个专门处理404错误的JSP页面。 ```xml &lt;result name="404"&gt;/error/404.jsp ``` 3. **配置文件调整**: 在`struts-default.xml`或自定义的配置文件中,...

    过滤器 Struts2全局变量 action转化do

    例如,全局错误页面或登录重定向可以作为全局结果设置,当任何Action执行失败时,都会跳转到这些结果。 6. **FilterDispatcher配置**:在web.xml中,你需要配置FilterDispatcher(或StrutsPrepareAndExecuteFilter...

    Struts1 和 Struts 2 国际化全局资源

    2. **配置struts.properties或struts.xml**:在`struts.properties`或`struts.xml`配置文件中,设置`struts.i18n.resource.bundles`属性,指定资源文件的基名。例如: ```xml &lt;constant name="struts.i18n....

    留言板留言板struts2留言板struts2

    9. **异常处理**:Struts2通过全局异常映射(Global Exception Mapping)来统一处理应用程序中抛出的异常,提高代码的可维护性。 10. **国际化与本地化**:Struts2支持多语言环境,可以通过资源包(properties文件...

    struts2 全局异常提示定义属性文件使用

    这篇博文主要探讨的是如何在Struts2中设置和使用全局异常提示属性文件。 首先,我们要理解Struts2的异常处理机制。当控制器或业务逻辑抛出异常时,Struts2框架会捕获这些异常并根据配置决定如何响应。默认情况下,...

    Struts2视频教程

    - **标签库**:Struts2提供了丰富的标签库,可以帮助开发者快速构建表单和页面元素,提高开发效率。 - **拦截器**:拦截器是Struts2的一个重要特性,可以在请求到达Action之前或之后执行特定的操作,如验证用户登录...

    运用struts2技术实现的网页注册

    10. **异常处理**:Struts2提供了全局异常处理机制,可以捕获并处理Action执行过程中的异常,提供统一的错误页面。 以上就是基于Struts2实现网页注册涉及的主要知识点。通过这个项目,开发者能够了解到如何组织MVC...

    struts2小程序 struts2代码

    8. **Validation框架**:Struts2提供了强大的表单验证功能,可以在Action级别或全局级别定义验证规则。 9. **Plug-in扩展性**:Struts2支持丰富的插件系统,可以方便地集成其他框架,如Spring、Hibernate等。 在`...

    Struts2 Struts2 超好的Struts2 pdf 文档

    4. **结果类型(Result Types)**:Struts2支持多种结果类型,如`dispatcher`(默认,将结果转发到JSP页面)、`stream`(用于文件下载)、`redirect`(重定向URL)等,可以根据不同的需求选择合适的结果类型。...

    Struts2的视频学习代码

    10. **异常处理**:Struts2提供了全局的异常处理机制,通过`&lt;global-exception-mappings&gt;`标签定义异常映射,可以统一处理各类运行时异常。 "Struts2-part01"可能包含的是该系列学习的第一部分内容,可能涵盖了...

    Struts2主要Lib

    3. **配置文件**:Struts2的配置文件通常是`struts.xml`,定义了Action与结果的映射,过滤器设置,拦截器链等。它允许开发者以声明式的方式配置应用程序的行为。 4. **拦截器(Interceptor)**:拦截器是Struts2的...

    马士兵Struts2笔记2013

    此外,Struts2也支持自定义验证逻辑和全局错误处理。 7. **Struts ValueStack(值栈)** ValueStack是Struts2的核心组件之一,它是一个数据存储结构,用于管理Action上下文中的对象。Action中的属性会被放入...

    用struts2加hibernate对学员信息进行增删改查操作

    Struts2提供了一套全局的异常处理机制,可以在struts.xml中配置全局异常映射,以统一处理各种异常。 8. **页面跳转与数据传递**:在Struts2中,Action类的方法返回的结果名对应一个视图,如jsp页面,同时可以通过...

    struts2的新闻管理系统

    6. **错误和异常处理**:Struts2的全局异常处理机制可以捕获并处理程序运行时的异常,提供统一的错误提示。 7. **表单验证**:Struts2提供了强大的表单验证功能,可以在Action类中定义验证规则,或者使用XML配置...

    struts2核心技术整理

    Struts2的全局异常处理机制允许开发者定义全局的错误页面或Action,统一处理应用中抛出的异常。这通常通过`&lt;global-exception-mappings&gt;`和`&lt;global-results&gt;`配置实现。 六、插件体系 Struts2拥有丰富的插件系统...

    Struts2 demo2

    4. **OGNL (Object-Graph Navigation Language)**: OGNL是Struts2中的表达式语言,用于在Action对象和JSP页面之间传递数据。它允许动态访问和修改对象的属性,以及执行复杂的逻辑操作。 5. **Token机制**: - **...

    struts2 OGNL表达式

    在Struts2中,OGNL被用作默认的表达式语言,用于在Action类和JSP页面之间传递数据,以及在Action上下文中进行动态方法调用。 在Struts2的配置文件中,如struts.xml或struts.properties,你可以看到OGNL表达式的使用...

Global site tag (gtag.js) - Google Analytics