下午花了3小时来解决一个stupid问题:
tomcat自带的例子运行良好,我自己写的一个servlet无论如何就是报下面的错误:
Error allocating a servlet instance ...
--root cause: java.lang.NoClassDefFoundError...
网上找了很多帖子,说各种问题的都有,什么path ,classpath路径配置有错了,类名写错了,jdk版本不
对,web.xml没有配置,etc,看得头都大了,按他们说的一个个试,就是没效果,火大!
就是不怀疑自己的web.xml没有配置对!觉得自己就是没错,太想当然了!
我的目录结构如下:
webapps
|
beer-v1
| |
WEB-INF index.html
| |
classes web.xml
|
com
|
controller
|
SelectBeer.class (注意此处的类中要加入包名:package com.controller,如果不加,命令行编译 也通过,但就是在运行的时候也会出现上面的错误信息)
那么我在web.xml中<servlet-class>是com.controller.SelectBeer,而不是
com/controller/SelectBeer,就是这斜杠让我整整好了3小时,就是想不到这。