JSP中内建exception对象时出现500错误的解决方法

本文实例讲述了JSP中内建exception对象时出现500错误的解决方法。分享给大家供大家参考,具体如下:

尝试使用JSP的内建exception对象,写了下面三个文件。思路很简单,文件index若提交字串为空,则get抛出异常,交由error.jsp处理。但实际却不能正常运行,会出现IE的500错误页面。环境为Tomcat 5.5,IE6.0。

在sun的论坛上有人贴出了原因,是IE的某个设置。Tomcat5.0以后的版本error page在处理时会返回error code 500。而IE得到code 500后会检查该页面的长度,当长度低于某个值时,它会用自己默认的500出错页面来代替制定的error page。它称之为“用户友好性”(这个问题耗了我不少时间,一点也不友好来着)。

那么解决方法可以是修改IE

设置:取消IE“工具--Internet选项--高级--显示友好HTTP错误信息”选项;或者增加你的error page的长度。

index.jsp

<html>
<head>
 <title>index</title>
<head>
<body>
 <form action="get.jsp" method="get">
 <input type="text" name="text"><br>
 <input type="submit" value="submit">
 </form>
</body>
</html>

get.jsp

<%@page language="java" errorPage="error.jsp"%>
<html>
<head>
 <title>index</title>
<head>
<body>
 <%
 String getText = request.getParameter("text");
 out.print(getText);
 if (getText.equals("")) {
  out.print("empty");
  throw new Exception("empty value");
 }
 %>
</body>
</html>

error.jsp

<%@page language="java" isErrorPage="true"%>
<html>
<head>
 <title>index</title>
<head>
<body>
<%
 out.print(exception.getMessage());
 %>
</body>
</html>

个人总结

所谓增加长度,就是在error.jsp文件中,多复制些文字内容,就能正常运行了。

希望本文所述对大家JSP程序设计有所帮助。

(0)

相关推荐

  • 分享JSP中文乱码解决方法

    一.JSP页面中文乱码 在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码. 先看一个JSP程序: <%@ page language="java" import="java.util.*" %> <html> <head> <title>中文显示示例</title> </head> <body> 这是一个中文显示示例: <

  • jsp下显示中文文件名及绝对路径下的图片解决方法

    (1)jsp显示中文文件名的图片 方法一.将Tomcat中的server.xml文件中改为: 复制代码 代码如下: <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redir

  • jsp地址栏传中文显示乱码解决方法分享

    test1.jsp页面: 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>My JS

  • jsp之间传参数接受中文有乱码问题解决方法

    tomcat 的配置文件 server.xml里面找到: 复制代码 代码如下: <Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> 看看有没有 URIEncoding=&qu

  • JSP加载JS文件不起作用的有效解决方法

    目录结构:jsp导入jquery文件,老是不起作用,原因在于: 复制代码 代码如下: <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 其不能访问/WEB-INF/目录下的文件,因此需要将加载的js文件其放倒webapp目录.  test.html: 复制代码 代码如下: <%@ page language="java" %&g

  • JSP上传图片产生 java.io.IOException: Stream closed异常解决方法

    在做 jsp 上传图片时,把 java 代码直接改成 jsp,上传时产生 如下异常: 2012-12-31 8:59:21 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet jsp threw exception java.io.IOException: Stream closed ... 百思不得其解,翻出 jsp 转成 servlet 后的代码.如下(很很的醒目一下):

  • JSP页面IE无法打开Internet 站点…… 已终止操作 的解决方法

    之所以说机缘巧合,意思是各种因素促成了这个事件,缺一不可.几个因素分别是:系统中的ie是ie6(具体的小版本之间的差别我不是很确定or清楚).编写jsp页面且用开发工具自动生成的jsp源码.使用了WdatePicker.js这个时间控件.以及页面代码的一些书写顺序. 之所以说经典,很明显,从上面的巧合中可以看出来了,ie6绝对是经典了. 全部测试代码如下(除要引用的控件相关文件外) 复制代码 代码如下: <%@ page language="java" import="

  • jsp 连接sql server 2008 连接不上的解决方法

    1.首先是如果你遇到javax.servlet.ServletException: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver这个错误, 那么估计你应该把Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 改成Class.forName("com.microsoft.sqlserver.jd

  • jsp中使用jstl导入html乱码问题解决方法

    在jsp中通过jst的<c:import>导入html时会出现乱码的现象,其原因是org.apache.taglibs.standard.tag.common.core.ImportSupport 的charEncoding的值为空则会出现charEncoding为默认值也就是ISO-8859-1 所幸的是charEncoding可以直接通过<c:import>直接设置,所以只需设置一下就好了,许多人说可以通过在html中通过meta设置contentType,但我试验过却不行,也

  • jQuery在html有效在jsp无效的原因及解决方法

    最近用jQuery来写下拉框的选项值的左右移动,代码如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <he

  • jsp中文显示问号问题解决方法

    问题: jsp中想要输出的中文被显示成"?" 解决方法 : 在eclipse-windows- preferences中 搜索jsp , Encoding选项中选择 Chinese . 这样新建的jsp文件将支持中文显示. 对已经存在的jsp文件做如下修改: 将各种编码方式都改成GB18030,如下: 复制代码 代码如下: <%@ page language="java" contentType="text/html; charset=GB18030

随机推荐