1:当我们出现异常我们浏览器会直接暴露我们的技术结构,会给我们的项目带来一些安全隐患。
2:当这种错误出现,给用户感觉是非常不友好.
3:怎么解决
1:如果处理找不到action方法的错误呢?
在Struts.xml中定义一个 第一步: <default-action-ref="nomethodAction"></default-action-ref> 第二步:定义一个action <action name="nomethodAction"> <result name="error">/error.jsp</result> </action> 第三步:default-action-ref 引入nomethodAction 第四步:建立一个error.jsp错误提示页面 注意点:定义是url的根目录以后才有意义和作用 当我们请求的一个一个不存在的action对应的方法的时候,它会去找到默认的action,然后找到对应Action找错误页面
2:统一处理程序异常的错误指向页面
<!-- 全局异常处理调整页面 --> 第一步: <global-results> <result name="error">/error.jsp</result> </global-results> 第二步: <global-exception-mappings> <exception-mapping result="error" exception="java.lang.ArithmeticException"></exception-mapping> </global-exception-mappings>
如果错误已经超过以上的处理范围以后呢?必须在web.xml文件中
<!-- 404错误指向,当程序里面出现了找不到指定的资源文件的时候(jsp js jpg .css )都出现404错误 --> <error-page> <error-code>404</error-code> <location>/error.jsp</location> </error-page> <!-- 500错误指向,服务器没有找到对应的方法,业务--> <error-page> <error-code>500</error-code> <location>/error.jsp</location> </error-page>
<!-- 400错误指向,服务器断开了,挂了-->
<error-page>
<error-code>400</error-code>
<location>/error.jsp</location>
</error-page>
以上配置,和struts框架无关,是一种统一的全局错误页面指向.