查错步骤:
①重新写一遍。保证web.xml,servlet配置无错误。
②工具栏project》Build Automaticly必须要勾选上:eclipse才会自动编译你的代码。
===我就是 勾上了之后,错误变成了:NoSuchMethod(),最后找到问题原因是:BaseServlet的子类方法是protected。而反射cgetMethod()必须是public方法:
/*
Method getMethod(String name, Class<?>... parameterTypes)
返回一个 Method 对象,
它反映此 Class 对象所表示的类或接口的指定【公共public】成员方法。==######=protected也不行!!!
===报错:===【NoSuchMethodException: base.Pro.add】
* */
====这个问题纠结了一晚上!
问题能够解决,得益于这篇博客:http://blog.csdn.net/chuck_kui/article/details/54835874
copy如下:(对于这种环境配置问题,是软肋。)
问题:
1. tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误。同时其他项目页面也不能访问。
关闭eclipse里面的tomcat,在tomcat安装目录下双击startup.bat手动启动tomcat服务器。访问htt://localhost:8080/能正常访问tomcat管理页面。
原因: eclipse将tomcat的项目发布目录(tomcat 目录中的webapp)重定向了,所以你会发现在tomcat安装目录下的webapp目录里面找不到你的项目文件。
解决方法
重新配置下tomcat服务器:
在eclipse中的server页面,双击tomcat服务,会看到如图所示的配置页面:
可以看到红圈中选择的是 Use workspace metadata(does not modify Tomcat installion)
如果该tomcat中部署了项目的话,这红圈中的选项会灰掉不能修改,要修改必须得先把tomcat中的部署的服务都移除。
通过右键单击tomcat服务器选择 Add and Remove,在弹出的对话框中移除已部署的项目。移除完确定后,将看到上面的选项面板部分可编辑了。若还是灰色的 ,右键单击servlet 中的Tomcat
选择Use tomcat installation(Task control of Tomcat installation) 即选择tomcat的安装目录来作为项目的发布目录。
然后,下来四行,看到"Deploy Path"了没?它后面的值默认是"wtpwebapps",把它改成"webapps",也就是tomcat
中发布项目所在的文件夹名字。
或
修改后关掉该页面,保存配置。这样就将项目部署到了tomcat安装目录下的webapp
重启tomcat服务器,访问http://localhost:8080则能正常访问了,自己部署的项目也能正常访问了。
2. 在eclipase 中编译 servlet 但是一致报 HTTP Status 500 - Error instantiating servlet class XXX类 的问题 ,
解决方法
5. 查看eclipse工具中的:Project->Build Automatically这个选项,是否勾选,如果没有勾选,选上的话,eclipse可以自动编译,编译后就会有class了