servlet程序HTTP Status 500 - Error instantiating servlet class 解决
2017-05-25 09:50
441 查看
今天帮同学搭个基本的web登录。应该没什么难题的,但是今天居然被这个500错误耽搁了好久。
看到这个错误,我
之前遇到过这个错误,就是web.xml文件中的<servlet-class>配错了,但是我记得我的包名写的对的,后面也没写.java。赶紧打开web.xml看一下。完全没错啊。我又重新检查了一遍,应该没差。重启服务器,重新来一次。
我真是fxxk the dog了。玛德,错误不变。开始各种百度,最后在查阅这一篇blog之后发现(http://blog.csdn.net/chuck_kui/article/details/54835874),发现是没有生成build/classes文件。
原文转载如下:
问题:
1. tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误。同时其他项目页面也不能访问。
关闭eclipse里面的tomcat,在tomcat安装目录下双击startup.bat手动启动tomcat服务器。访问htt://localhost:8080/能正常访问tomcat管理页面。
重新配置下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则能正常访问了,自己部署的项目也能正常访问了。
4000
2. 在eclipase 中编译 servlet 但是一致报 HTTP
Status 500 - Error instantiating servlet class XXX类 的问题 ,
1. 在web.xml 中检测 <servlet><servlet-mapping> 有没有配置错误
2. 查看 项目的build\classes 下有没有 你的XXX.class 文件,或 tomcat的webapps
下 有没哟编译好的 XXX.class文件
3. servlet类同时在web.xml中配置并加上了@webservlet的注解,去掉其中之一即可
4. tomcat并没有成功部署项目,检查servlet是否初始化,即在init方法里输出日志或断点,看是否进入
5. 查看eclipse工具中的:Project->Build Automatically这个选项,是否勾选,如果没有勾选,选上的话,eclipse可以自动编译,编译后就会有class了
血的教训!
看到这个错误,我
之前遇到过这个错误,就是web.xml文件中的<servlet-class>配错了,但是我记得我的包名写的对的,后面也没写.java。赶紧打开web.xml看一下。完全没错啊。我又重新检查了一遍,应该没差。重启服务器,重新来一次。
我真是fxxk the dog了。玛德,错误不变。开始各种百度,最后在查阅这一篇blog之后发现(http://blog.csdn.net/chuck_kui/article/details/54835874),发现是没有生成build/classes文件。
原文转载如下:
问题:
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则能正常访问了,自己部署的项目也能正常访问了。
4000
2. 在eclipase 中编译 servlet 但是一致报 HTTP
Status 500 - Error instantiating servlet class XXX类 的问题 ,
解决方法
1. 在web.xml 中检测 <servlet><servlet-mapping> 有没有配置错误2. 查看 项目的build\classes 下有没有 你的XXX.class 文件,或 tomcat的webapps
下 有没哟编译好的 XXX.class文件
3. servlet类同时在web.xml中配置并加上了@webservlet的注解,去掉其中之一即可
4. tomcat并没有成功部署项目,检查servlet是否初始化,即在init方法里输出日志或断点,看是否进入
5. 查看eclipse工具中的:Project->Build Automatically这个选项,是否勾选,如果没有勾选,选上的话,eclipse可以自动编译,编译后就会有class了
血的教训!
相关文章推荐
- servlet程序HTTP Status 500 - Error instantiating servlet class 解决(rootCause:ClassNotFound:xxxServlet)
- servlet程序HTTP Status 500 - Error instantiating servlet class 解决
- servlet程序HTTP Status 500 - Error instantiating servlet class 解决
- servlet程序HTTP Status 500 - Error instantiating servlet class 解决
- servlet程序HTTP Status 500 - Error instantiating servlet class 解决
- HTTP Status 500 - Error instantiating servlet class的问题解决
- servlet错误 :HTTP Status 500 - Error instantiating servlet class
- Troubleshooting:HTTP Status 500 - Error instantiating servlet class xxx
- HTTP Status 500 - Error instantiating servlet class test.Test
- HTTP Status 500 - Error instantiating servlet class com.*.servlet.TestServlet
- HTTP Status 500 - Error instantiating servlet class
- HTTP Status 500 - Error instantiating servlet class com.myServlet.Hello
- HTTP Status 500 - Error instantiating servlet class HelloWorld
- HTTP Status 500 - Error instantiating servlet class XXXX
- HTTP Status 500 -Error intstantiating servlet class
- Eclipse运行报错:HTTP Status 500 - javax.servlet.ServletException: java.lang.UnsupportedClassVersionError
- Eclipse运行报错:HTTP Status 500 - javax.servlet.ServletException: java.lang.UnsupportedClassVersionError
- Tomcat报错:HTTP Status 500 (Wrapper cannot find servlet class)解决办法
- 使用Eclipse运行Servlet出现500错误 提示Error instantiating servlet class
- HTTP Status 500 - Unable to compile class for JSP:Syntax error on token "=", @ expected