因为我也是小白,最近在学习怎么通过网页与服务器产生信息传输,在刚刚配好一个简单的servlet类后,兴致勃勃地启动了我的tomcat服务器,提交了我的html表单内容后发现服务器报了500,如下图所示
面对大片的错误信息,初学者一定要沉下心,挑出关键且有用的信息,这样才能更快的解决问题。
上图中首先分为了两个区域,一个例外情况,一个根本原因,那我们先解决根本原因,
第一行:java.lang.ClassNotFoundException: com.servlets.AddServlet
虽然不一定全看得懂,但起码ClassNotFoundException这个错误还是要能认出来,是服务器无法正确找到我们这个类
然后我就去搜索了大量的博客和资料,找了以下相关内容:
1.tomcat服务器如何寻找项目文件中的类
2.项目中的类是如何被找到的
然后我就得到了两点关键信息,也是解决这个问题的关键两步:
1.servlet类往往是从WEB-INF文件下的classes文件夹中去寻找
2.项目中的类是会先进行编译,然后将.java文件转换为.class文件,这样的文件才是可以直接被访问的类文件
具体对应解决方法:
创建一个WEB-INF下的classes文件用于存放编译后输出的类文件
然后原先编译生成的com.(....).AddServlet啥啥啥的一串文件夹都可以删掉噜
直接重启服务器,提交我的html表单,在服务器端也可以正常访问到了
原先是点击添加,然后就跳转到HTTP500页面,现在是变为空白,然后服务器可以输出提交的结果~
这里也贴上我的servlet类代码和html表单代码,以及xml配置文件的写法
xml配置文件中servlet路径以及映射的写法网上还是有很多写法的,这里只提供我现在写的()