`
zhoujianghai
  • 浏览: 439780 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

struts2自定义404错误页面

阅读更多

以前做的一个网站,最近服务器后台出现一些异常,问题是客户访问一个该网站下不存在的action,为了给客户一个友好的界面提示以及减小服务器端日志文件的内容。就在struts2下进行了如下配置:

在struts.xml里的package下添加:

<default-action-ref name="pagenotfound"></default-action-ref> 
   <action name="pagenotfound"> 
              <result>/resourceNotFound.html</result> 
   </action>

 

当然struts2只会处理用户访问不存在的action,当用户访问jsp或者html时,是不会处理的。

这样还要在项目的web.xml下添加:

<error-page>
 <error-code>404</error-code>
 <location>/resourceNotFound.html</location>
</error-page>

 

本来以为只要在we.xml添加就行了,但是在我的机器上如果不在struts.xml添加

<default-action-ref name="pagenotfound"></default-action-ref> 
   <action name="pagenotfound"> 
              <result>/resourceNotFound.html</result> 
   </action>

 

仍然会在tomcat 控制台打印异常信息。

 

 

分享到:
评论
2 楼 zhoujianghai 2010-04-25  
struts.xml中配置的跟web.xml中配置的是不一样的,当访问action中一个不存在的方法时,假如你NewsAction中有个detailNews()方法,当你在地址栏中输入detailnews()时,可能会抛出:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NoSuchMethodException: xx.xx.NewsAction.detailuser();
java.lang.Class.getMethod(Class.java:1605)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.getActionMethod(AnnotationValidationInterceptor.java:75)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:47)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
......
此时的状态码是500,而你web.xml中配置的是404
1 楼 xiaojianhx 2010-04-25  
struts.xml起的作用,还是web.xml起的作用?
我只在web.xml里配置了.也起作用了

相关推荐

    struts2 跳转至404 页面的解决方案

    7. **错误处理配置**:Struts2允许自定义错误页面。检查`struts-default.xml`或自定义的配置文件,确认404错误是否被正确地映射到了一个自定义的错误页面。 8. **IDE或服务器设置**:有时候,开发环境或服务器的...

    基于struts2 自定义标签 分页

    自定义标签是Struts2的一个重要特性,允许开发者扩展框架的功能,提供更友好的界面元素。在这个基于Struts2的自定义分页标签的实践中,我们将深入探讨如何创建、配置和使用自定义标签来实现数据的分页展示,同时与...

    Struts2自定义校验框架

    在JSP页面中,可以使用Struts2的标签库如`s:fielderror`来显示错误信息。 6. **validationdemo2示例** `validationdemo2`可能是一个包含示例代码的项目,包括自定义校验器的实现、Action类、模型类以及相关的配置...

    struts2完全捕获404错误的方法

    此外,如果请求的Action不存在,Struts2将会尝试执行默认Action并显示预定义的404错误页面。 为了更高效地调试和测试,可以使用Struts2提供的开发工具,如Struts2的开发模式,它会提供更详细的错误信息,帮助定位...

    struts2自定义拦截器

    虽然“表单上传”在给定的描述中与自定义拦截器直接关联不大,但在Struts2中,我们通常会结合`struts2-convention-plugin` 或者 `struts2-dojo-plugin` 来处理文件上传。`struts.multipart.parser` 属性可以配置...

    struts2自定义拦截器配置心得

    Struts2自定义拦截器的配置是Struts2框架中一个非常重要的功能,它允许开发者在Action执行前后插入自定义的逻辑,以实现如权限验证、日志记录、性能监控等多种需求。以下是对标题和描述中涉及的知识点的详细说明: ...

    Java struts2捕获404错误的方法汇总

    以下是一些常用的方法来处理和自定义Struts2中的404错误页面: ### 方法一:通过`web.xml`配置 在`web.xml`文件中,你可以定义错误处理页面。例如: ```xml &lt;error-code&gt;404 &lt;location&gt;/404.html&lt;/location&gt; ...

    struts2实例 自定义过滤器 文件上传下载 登录功能

    本实例展示了如何在Struts2环境中实现几个关键功能:自定义过滤器、文件上传下载以及用户登录功能。这些功能是任何Web应用程序的基础组成部分,理解和掌握它们对于提升Web开发技能至关重要。 首先,我们来探讨...

    Struts2自定义拦截器实现防止重复提交

    Struts2默认提供了一些拦截器来帮助处理这个问题,但如题目所述,由于性能考虑,项目组决定不使用Struts2的标签,因此需要自定义拦截器来实现防止重复提交的功能。 自定义拦截器的实现主要分为以下几个步骤: 1. *...

    Struts2类型转换(一)----常规类型,自定义类型,错误处理

    为了自定义错误处理,我们可以创建一个继承自`ConversionError`的类,然后在Action中捕获`ConversionException`,并使用`addFieldError`方法添加错误信息。此外,还可以通过全局结果(Global Results)配置来指定...

    如何自定义Struts2表单验证后的错误信息显示格式/样式

    默认情况下,当表单验证失败时,Struts2会返回错误消息,并在页面上以特定的格式显示这些错误。然而,这种默认的错误信息显示可能不符合每个开发者或项目的实际需求,因此自定义错误信息的显示格式和样式就显得尤为...

    在Tomcat中配置404自定义错误页面详解

    一直使用tomcat,今天想到一个问题,自定义404错误页面, 为了获得很好的用户感受,是不应当向用户暴露404这样的页面的, 问题的出发点是我在Struts2中定义错误页面, 在Struts2中是这样定义的: ...

    Struts2简单的页面跳转示例

    在"Struts2简单的页面跳转示例"中,我们通常会有一个Action类,这个类需要继承自Struts2提供的ActionSupport类或者自定义一个基类。Action类中的方法对应用户请求的URL,当用户发起请求时,Struts2框架会根据配置...

    struts2的自定义校验器例子

    自定义错误消息 ``` 3. **校验规则定义** 在自定义校验器的`validate`方法中,我们需要编写验证规则。例如,如果`JiaoyanqiValidator`用于检查输入的数字是否在指定范围内,可以这样写: ```java @...

    struts2错误显示

    2. **修改模板文件**:进一步自定义错误信息的显示格式,则需要修改Struts2的模板文件`fielderror.ftl`。 - **步骤**: 1. **解压模板文件**:从Struts2的核心库中解压`fielderror.ftl`文件,并将其放入项目的`WEB...

    使用struts2拦截器对登陆权限验证

    在Struts2中,拦截器(Interceptor)扮演着至关重要的角色,它允许开发者在动作执行前后插入自定义逻辑,如日志记录、权限验证等。在本案例中,我们将深入探讨如何使用Struts2拦截器实现登录权限验证,同时结合...

    自定义 validate验证 struts1框架

    5. **异常处理**:在Action类中,你需要检查`ActionErrors`对象是否有错误,如果有,可以选择重定向到错误页面,或者显示错误信息并允许用户修正输入。 通过自定义`validate`验证,开发者不仅可以验证基本的数据...

    Struts的自定义转换器

    可以抛出`ConversionException`来指示转换失败,并在页面上显示相应的错误信息。 自定义转换器使得Struts框架更加灵活,能够处理复杂或特殊的数据类型,提高了代码的可维护性和用户体验。通过编写自定义转换器,...

Global site tag (gtag.js) - Google Analytics