zoukankan      html  css  js  c++  java
  • 从0开始学Java——JSP和Servlet——jsp转servlet出错的三个典型场景

    由于jsp终究是要转换为servlet的java文件,然后再编译为.class文件,最后才执行,那么在这过程的任何一个步骤都可能有问题,主要包括三个方面,下面逐一分析:

    一、JSP转换为Servlet的java源码时
        因为上面的这个jsp转java、再转class的过程是在运行期执行来做的,也就是客户第一次请求该jsp页面的时候做的,所以如果jsp页面中有语法错误,使得容器不知如何把jsp转换为servlet的java文件时,比如
    <%@page contentType="html/text" buffer="16" %>
    这里指定buffer的语法有误,应该包含单位,如果客户请求该页面,就会出现类似如下的错误,从异常信息可以定位到错误源码的位置。

    初学者应该尽量选用具有jsp语法检查功能的开发工具来做开发。
     
    二、将servlet源码编译为.class文件的时候
    比如在jsp中使用了某个类,但是在部署服务器上忘了放该类的jar包了,这样在初次请求该jsp的时候,虽然该jsp可以转译完成,但是编译时会报错,比如在tomcat中会有类似于下面的错误提示,这个错误比较容易人, 使用tomcat的时候,如果出现unable to compile,就是编译期的错误。
     
     
    三、Servlet载入容器进行服务的时候发生错误。
    此时Servlet已经编译成功了,但是在运行时由于某种未捕获的异常,比如NullPointerException就是最常见的错误。
    一般来说这种错误会在界面上表现为an exception occured processing jsp page。这种一般就是运行时错误。
     
     
    四、错误处理
    如果jsp页面不做处理,那么容器就会捕捉这些异常,让像上面这样显示出来。
    如果我们想要针对某个页面,或者针对某个特殊类型的异常做处理,则可以在jsp页面和web.xml文件中做一些配置,下面仅给出两个例子,不想详细展开说》
    1)指定页面发生错误时,转到另外一个错误处理页面 errorPage, isErrorPage配合使用
    ....
     
     
    2)在web.xml文件中配置,指定异常发生时
    3)指定html错误码发生时
     



  • 相关阅读:
    微软SmartClient高级开发
    JavaScript教程大全目录( 最后更新:2007/2/27 不断更新中...)
    智能客户端的定义
    JavaScript浏览器输出
    事半功倍系列之javascript
    智能客户端SmartClient (三)
    智能客户端SmartClient (一)
    日文假名输入与键盘对应
    连体词、接续词、接续助词相关
    JavaScript表单
  • 原文地址:https://www.cnblogs.com/strinkbug/p/4895692.html
Copyright © 2011-2022 走看看