404错误处理以及以后缀为action结尾的处理

本文介绍了解决Struts框架中404错误的方法。对于非action后缀的请求,可在web.xml中配置404.jsp页面;对于.action后缀但未找到映射的情况,则需在struts.xml中配置默认action引用,指向特定的Action处理类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--------------第一种是胡乱敲,后缀不是以action结尾,出现404错误-----------------------------

解决方法:

web.xml中添加:

 

404.jsp

 

 

测试:

 

官方解释:

 

 

 

------------------第二种是胡乱敲,后缀是以action结尾,这样会被struts拦截--------------------------

由于是以.action结尾,会被struts拦截,可是找不到匹配的action映射,所以报错。

解决办法:

xml:

<package name="test2" extends="struts-default">
    
        <default-action-ref name="notFound" />
        <action name="notFound" class="cn.qlq.Action.TestAction2"
            method="notFound">
            <result name="notFound">/404.jsp</result>
        </action>
  </package>

 

 

需要提醒的是

    不要给上面的package指定namespace。另外,action的 result 一定要声明。除非在global-results中刚好有一个result 与你的“notFound()”这个方法所要跳转的result的名字 是一样的。 

上面的配置的意思就是,在package下配置一个 default action,这个当输入的action找不到的时候,就会使用此action来进行处理。

         以上面的配置来说,当一个action找不到时候,就会调用cn.qlq.Action.TestAction2notFound方法来对应,然后跳转到404.jsp。这个方法的实现如下:

Action:

package cn.qlq.Action;

import com.opensymphony.xwork2.ActionSupport;

public class TestAction2 extends ActionSupport {

    public String notFound() {
        return "notFound";
    }
}

 

 测试:

转载于:https://www.cnblogs.com/qlqwjy/p/7258439.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值