自定义404页面如何显示错误信息

乐百川 2017-01-18 06:38:27
比如说我在servlet中写了如下一句,
 resp.sendError(HttpServletResponse.SC_NOT_FOUND, "您查找的用户不存在");


然后就可以看到tomcat默认页面会显示这个信息。

现在我自己定义了一个404.jsp页面,如何才能让我自己的页面也显示这个错误信息呢?


<h1><%=exception.getMessage()%></h1>
,在页面中添加这句话没作用,而且会显示空指针异常,重新跳转到默认页面。

添加这么一句也不行,什么输出都没有。
<h1>${exception.message}</h1>


求教大神们
...全文
684 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
乐百川 2017-02-04
  • 打赏
  • 举报
回复
引用 13 楼 qq_24972061 的回复:
有没有给页面赋值啊
请问赋什么值,怎么赋值
西北灰狼 2017-02-04
  • 打赏
  • 举报
回复
有没有给页面赋值啊
乐百川 2017-02-02
  • 打赏
  • 举报
回复
引用 11 楼 jjkang_ 的回复:
[quote=引用 10 楼 过了即是客的回复:][quote=引用 9 楼 jjkang_ 的回复:] [quote=引用 8 楼 过了即是客的回复:][quote=引用 7 楼 jjkang_ 的回复:] [quote=引用 6 楼 过了即是客的回复:][quote=引用 5 楼 jjkang_ 的回复:] 把错误信息用request绑定到attribute里,然后请求转发到你自己的错误页面,然后通过el表达式${ }取出你保存在request中的数据,这样就行了
请问如果我用这样的代码跳转到错误页面,错误页面如何获取错误信息
resp.sendError(HttpServletResponse.SC_NOT_FOUND, "您查找的用户不存在");
[/quote] servlet中从一个页面跳转到另一个页面有两种方法,一个是forward方式,一个是sendRedirect方式,没有你说的这个,是不是你理解错了[/quote]可能我没说清楚……我现在传递的不是普通信息,而是传递错误信息到一个错误页面。如果是普通的信息传递当然用你说那两种就可以了。现在我想要用sendError这样的方法将错误消息发到一个错误页面然后在错误页面显示这条消息。请问错误页面应该如何获取到这条错误消息[/quote] 你的意思是,你已经写了一个显示错误信息的页面,你现在想通过senderror方法传递一些信息到你写的那个页面?[/quote]对对对,就是这个意思。我弄了一个404页面,想显示sendError的错误信息,但是不知道怎么获取这个错误信息。不知道错误信息的名称是什么,也不知道这个信息在哪个作用域里头。这就是我的问题[/quote] 你这样做有两个问题,1是你调用response.senderror方法之后,没有办法再跳转页面,因为不论是请求转发还是重定向都要用到response,而同一个servlet,你再次调用response,jvm会抛异常;问题2是,你自定义了一个错误页面以后,服务器会首先调用你定义的错误页面,自动过滤掉你通过senderror方法发送的信息,你可以去看senderror方法的API文档。 你非要这样做的话,只能不在web.xml中定义错误页面,然后通过senderror方法发送信息,这样,再遇到相应的错误之后,不会再显示Apache的错误信息,比如not found这句话,而是会出现你发送的那句消息。 希望能帮到你。[/quote]好吧,我看到tomcat默认的错误页面可以显示错误信息,还以为自己的错误页面也能同样简单的显示错误信息。没想到最后居然并不能。不过还是谢谢你
jjkang_ 2017-02-02
  • 打赏
  • 举报
回复
引用 10 楼 过了即是客的回复:
[quote=引用 9 楼 jjkang_ 的回复:] [quote=引用 8 楼 过了即是客的回复:][quote=引用 7 楼 jjkang_ 的回复:] [quote=引用 6 楼 过了即是客的回复:][quote=引用 5 楼 jjkang_ 的回复:] 把错误信息用request绑定到attribute里,然后请求转发到你自己的错误页面,然后通过el表达式${ }取出你保存在request中的数据,这样就行了
请问如果我用这样的代码跳转到错误页面,错误页面如何获取错误信息
resp.sendError(HttpServletResponse.SC_NOT_FOUND, "您查找的用户不存在");
[/quote] servlet中从一个页面跳转到另一个页面有两种方法,一个是forward方式,一个是sendRedirect方式,没有你说的这个,是不是你理解错了[/quote]可能我没说清楚……我现在传递的不是普通信息,而是传递错误信息到一个错误页面。如果是普通的信息传递当然用你说那两种就可以了。现在我想要用sendError这样的方法将错误消息发到一个错误页面然后在错误页面显示这条消息。请问错误页面应该如何获取到这条错误消息[/quote] 你的意思是,你已经写了一个显示错误信息的页面,你现在想通过senderror方法传递一些信息到你写的那个页面?[/quote]对对对,就是这个意思。我弄了一个404页面,想显示sendError的错误信息,但是不知道怎么获取这个错误信息。不知道错误信息的名称是什么,也不知道这个信息在哪个作用域里头。这就是我的问题[/quote] 你这样做有两个问题,1是你调用response.senderror方法之后,没有办法再跳转页面,因为不论是请求转发还是重定向都要用到response,而同一个servlet,你再次调用response,jvm会抛异常;问题2是,你自定义了一个错误页面以后,服务器会首先调用你定义的错误页面,自动过滤掉你通过senderror方法发送的信息,你可以去看senderror方法的API文档。 你非要这样做的话,只能不在web.xml中定义错误页面,然后通过senderror方法发送信息,这样,再遇到相应的错误之后,不会再显示Apache的错误信息,比如not found这句话,而是会出现你发送的那句消息。 希望能帮到你。
乐百川 2017-02-01
  • 打赏
  • 举报
回复
引用 9 楼 jjkang_ 的回复:
[quote=引用 8 楼 过了即是客的回复:][quote=引用 7 楼 jjkang_ 的回复:] [quote=引用 6 楼 过了即是客的回复:][quote=引用 5 楼 jjkang_ 的回复:] 把错误信息用request绑定到attribute里,然后请求转发到你自己的错误页面,然后通过el表达式${ }取出你保存在request中的数据,这样就行了
请问如果我用这样的代码跳转到错误页面,错误页面如何获取错误信息
resp.sendError(HttpServletResponse.SC_NOT_FOUND, "您查找的用户不存在");
[/quote] servlet中从一个页面跳转到另一个页面有两种方法,一个是forward方式,一个是sendRedirect方式,没有你说的这个,是不是你理解错了[/quote]可能我没说清楚……我现在传递的不是普通信息,而是传递错误信息到一个错误页面。如果是普通的信息传递当然用你说那两种就可以了。现在我想要用sendError这样的方法将错误消息发到一个错误页面然后在错误页面显示这条消息。请问错误页面应该如何获取到这条错误消息[/quote] 你的意思是,你已经写了一个显示错误信息的页面,你现在想通过senderror方法传递一些信息到你写的那个页面?[/quote]对对对,就是这个意思。我弄了一个404页面,想显示sendError的错误信息,但是不知道怎么获取这个错误信息。不知道错误信息的名称是什么,也不知道这个信息在哪个作用域里头。这就是我的问题
jjkang_ 2017-02-01
  • 打赏
  • 举报
回复
引用 8 楼 过了即是客的回复:
[quote=引用 7 楼 jjkang_ 的回复:] [quote=引用 6 楼 过了即是客的回复:][quote=引用 5 楼 jjkang_ 的回复:] 把错误信息用request绑定到attribute里,然后请求转发到你自己的错误页面,然后通过el表达式${ }取出你保存在request中的数据,这样就行了
请问如果我用这样的代码跳转到错误页面,错误页面如何获取错误信息
resp.sendError(HttpServletResponse.SC_NOT_FOUND, "您查找的用户不存在");
[/quote] servlet中从一个页面跳转到另一个页面有两种方法,一个是forward方式,一个是sendRedirect方式,没有你说的这个,是不是你理解错了[/quote]可能我没说清楚……我现在传递的不是普通信息,而是传递错误信息到一个错误页面。如果是普通的信息传递当然用你说那两种就可以了。现在我想要用sendError这样的方法将错误消息发到一个错误页面然后在错误页面显示这条消息。请问错误页面应该如何获取到这条错误消息[/quote] 你的意思是,你已经写了一个显示错误信息的页面,你现在想通过senderror方法传递一些信息到你写的那个页面?
乐百川 2017-02-01
  • 打赏
  • 举报
回复
引用 7 楼 jjkang_ 的回复:
[quote=引用 6 楼 过了即是客的回复:][quote=引用 5 楼 jjkang_ 的回复:] 把错误信息用request绑定到attribute里,然后请求转发到你自己的错误页面,然后通过el表达式${ }取出你保存在request中的数据,这样就行了
请问如果我用这样的代码跳转到错误页面,错误页面如何获取错误信息
resp.sendError(HttpServletResponse.SC_NOT_FOUND, "您查找的用户不存在");
[/quote] servlet中从一个页面跳转到另一个页面有两种方法,一个是forward方式,一个是sendRedirect方式,没有你说的这个,是不是你理解错了[/quote]可能我没说清楚……我现在传递的不是普通信息,而是传递错误信息到一个错误页面。如果是普通的信息传递当然用你说那两种就可以了。现在我想要用sendError这样的方法将错误消息发到一个错误页面然后在错误页面显示这条消息。请问错误页面应该如何获取到这条错误消息
jjkang_ 2017-01-31
  • 打赏
  • 举报
回复
引用 6 楼 过了即是客的回复:
[quote=引用 5 楼 jjkang_ 的回复:] 把错误信息用request绑定到attribute里,然后请求转发到你自己的错误页面,然后通过el表达式${ }取出你保存在request中的数据,这样就行了
请问如果我用这样的代码跳转到错误页面,错误页面如何获取错误信息
resp.sendError(HttpServletResponse.SC_NOT_FOUND, "您查找的用户不存在");
[/quote] servlet中从一个页面跳转到另一个页面有两种方法,一个是forward方式,一个是sendRedirect方式,没有你说的这个,是不是你理解错了
乐百川 2017-01-31
  • 打赏
  • 举报
回复
引用 5 楼 jjkang_ 的回复:
把错误信息用request绑定到attribute里,然后请求转发到你自己的错误页面,然后通过el表达式${ }取出你保存在request中的数据,这样就行了
请问如果我用这样的代码跳转到错误页面,错误页面如何获取错误信息
resp.sendError(HttpServletResponse.SC_NOT_FOUND, "您查找的用户不存在");
jjkang_ 2017-01-29
  • 打赏
  • 举报
回复
把错误信息用request绑定到attribute里,然后请求转发到你自己的错误页面,然后通过el表达式${ }取出你保存在request中的数据,这样就行了
乐百川 2017-01-20
  • 打赏
  • 举报
回复
引用 3 楼 u013132051 的回复:
在web.xml配置中配置error-page标签,标签内容执行你的404页面就行
error-page我也写了,404页面也能跳转到我自己的页面上,现在唯一的问题就是servlet中的sendError(404,"错误消息")这里说明的错误原因无法在自定义页面中显示。tomcat的默认页面倒是能显示这个错误消息。我的问题就是我自定义页面里面应该加点啥东西,让我的页面也能显示sendError的错误消息
烟花散尽13141 2017-01-20
  • 打赏
  • 举报
回复
在web.xml配置中配置error-page标签,标签内容执行你的404页面就行
乐百川 2017-01-18
  • 打赏
  • 举报
回复
不是,是在servlet中直接调用
resp.sendError(HttpServletResponse.SC_NOT_FOUND, "您查找的用户不存在");
跳转到404页面
ColdFireMan 2017-01-18
  • 打赏
  • 举报
回复
把错误信息通过request绑定到attribute上,然后转发到一个错误提示页面,是这样吗
怎么使用404页面? 一、下载404页面模板。 点击下载404页面模板,然后解压,可以发现有很多404网页模板。挑选一个您最喜欢的页面代码。 二、修改404页面中的素材网址为绝对地址。 为了您的404页面素材正常显示,需要您修改一下素材中的引用网址。例如网页中一个网址为"/404/Main.jpg"那么你应该改成带有网址的“http://www.390seo.com/404/Main.jpg” 三、将修改好的代码上传到网站中 用FTP软件将网站上传到网站中,并且部署好网页和素材之间的关系。如果有死链接之类的要第一时间解决。 四、在服务器上配置自定义404的路径 这里边可能会遇到两种情况: 1、虚拟主机。一般空间商提供的面板都有自定义404的功能,根据提示设置成自定义404页面。 2、独立服务器或VPS。这个稍微复杂一些,在网站管理里边找到网站,打开属性 > 自定义出错页面 > 404 然后填入。 五、检查404页面是否能够正常访问 找一个打不开的网址,看看是否会显示自定义404页面。如果没有返回第四步重新设置,直到看到显示正确为止。 六、检查404页面返回码。 有时候正常使用了,返回码可不一定正常。检查返回状态码建议使用这个工具:http://tool.chinaz.com/pagestatus/。在这个工具中404页面返回码如果不正常,返回调试都不行,请看这篇文章。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧