这个题目这样叫感觉有点不对,应该是在项目中配置。不光是404,所有的错误页面都可以指定,这是为了让用户不会感觉到系统不完善,出错了,即使知道出错一个友好的页面也是他们希望看到的。
在工程的web.xml中可以设置自定义错误页面,设置如下:
Xml代码
<error-page> <error-code>404</error-code> <location>/error.html</location> ? </error-page> 现在再访问该该工程下面一个不存在的页面,将跳转到自定义的pagenotfound页面,这样,struts中的那个default-action-ref 配置是可以去掉的了.因为404交给 tomcat处理了. 然后,然后我输入http://localhost/asdfasdfafd一个不存在的地址,结果404依然出现, 回头想一下,刚才我们的web.xml是在某一个应用下面的,他处理的应当是本应用的404,而http://localhost/访问的是 tomcat自已的应用,那么这个web.xml配置就应当在webapp/Root/下面的应用来配了, Root目录下面放着 Tomcat的应用,把里面换成自已的就行了. 于是现在再进行输入不存在的地址,成功跳向自定义的错误页面. 注重用户感受,就是注重细节. 当然这样只是页面请求的时候会出现,当我们访问一个action或者是servlet的时候,还是会出这样的错,struts2中可以这样 <default-action-ref name="pagenotfound"></default-action-ref>? ? <action name="pagenotfound"> <result>/pagenotfound.html</result>? </action> ? |
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/error.jsp</location>
</error-page>
这样就可以了,把error.jsp换成自己的页面。原文地址:http://blog.knowsky.com/184477.htm