Servlet常见错误校验表:
________________________________________________________________ 故障现象 可能的原因 ________________________________________________________________ servlet不能编译 除了通常的java语言错误以外,还有一些跟servlet有关的原因: 1 没有导入javax.servlet.*或javax.servlet.http.*; 2 类没有实现子类servlet或者它的一个子类; 3 servlet.jar没有在类路径中设置 ________________________________________________________________ 没有加载servlet 这可能有多种原因: 1 使用了错误的url(如,没有指定/servlet); 2 大小写错; 3 类没有在servlet引擎的servlet路径中; 4 有关的类没有在servlet引擎的类路径中; 5 servlet在初始化过程中失败 6 servlet引擎没有处于运行状态; 7 web服务器没有处于运行状态 _______________________________________________________________ 空的参数值 查看getParameteter()是否使用了一个带多个值的参数 _______________________________________________________________ 空指针异常 这可能表明这样的失败:在从会话提取值以前创建会话失败 _______________________________________________________________ 初始参数的错误取值 确认参数名称拼写得是否跟程序中的和servlet属性中的完全一样 (注意大小写) ________________________________________________________________ 空的初始化参数 init()方法没有调用super.init(config) ________________________________________________________________ Servlet引擎在关闭时挂起 destroy()方法没有调用super.destroy(); ________________________________________________________________ 错误的MIME类型 确保在写入到响应流以前是否调用了setContentType(); ________________________________________________________________ 被破坏的数据值 确认在非同步化的方法中是否使用实例变量。 记住:除非显示地实现SingleThreadMode,否则 servlet的单个实例就可以被 多个线程运行,如果是这样的话, 任何实例变量都是由所有线程共享的。
|