记一次JavaWeb-Servlet排错过程

发布时间 2023-05-23 00:56:09作者: 疯一风

说明

JavaWeb-Servlet开发

  1. 主要是404(无映射)和500(资源找不到), 两个异常;
  2. 404的排错过程, 分析主要是需要弄清楚JavaWeb的部署流程和配置;
  3. 资源找不到也是, 需要配置清楚resource资源文件夹的编译;

最后发现:

  1. 404的原因也是源码servlet没有被编译到out文件夹中;
  2. 500也是因为resources文件夹没有编译到out文件夹中;

总结

最后解决问题的步骤:

  1. 首先在解决问题的时候, 忽略了target文件夹和out文件夹的区别, 一开始没注意到out文件夹,两者都是编译目录, 但是web项目中好像是默认使用out文件夹下的内容;
  2. 用idea开了一个新的web项目, 然后对比了一下目录结构, 其次对比了Project Structure里面的配置;
  3. 正确配置了之后, 可以访问到服务, 但依然显示500错误, 读取不到resource文件夹下的资源目录;
  4. 根据网上参考资料, 在Project Structure中设置了Artifacts中 WEB-INF下的classes文件夹, 点击上方的添加, 将resources资源文件夹添加进去, 重新启动项目, 即发现资源文件已经被编译到out目录下;
  5. 然后还是500错误, 检查out文件夹下, 发现mybatis-config.xml的路径为根路径下, 因此修改资源路径, 即通过该处代码.

其它

关于注解@WebServlet

该注解能替代基于web.xml的servlet编程

参考资料:

@WebServlet注解(Servlet注解)

https://blog.csdn.net/qq_51795666/article/details/124778720

IDEA编译Web项目时,target文件下resource目录内容没有完全编译的解决办法:

https://blog.csdn.net/cyz077/article/details/107783759