记一次JavaWeb-Servlet排错过程
说明
JavaWeb-Servlet开发
- 主要是404(无映射)和500(资源找不到), 两个异常;
- 404的排错过程, 分析主要是需要弄清楚JavaWeb的部署流程和配置;
- 资源找不到也是, 需要配置清楚resource资源文件夹的编译;
最后发现:
- 404的原因也是源码servlet没有被编译到out文件夹中;
- 500也是因为resources文件夹没有编译到out文件夹中;
总结
最后解决问题的步骤:
- 首先在解决问题的时候, 忽略了target文件夹和out文件夹的区别, 一开始没注意到out文件夹,两者都是编译目录, 但是web项目中好像是默认使用out文件夹下的内容;
- 用idea开了一个新的web项目, 然后对比了一下目录结构, 其次对比了Project Structure里面的配置;
- 正确配置了之后, 可以访问到服务, 但依然显示500错误, 读取不到resource文件夹下的资源目录;
- 根据网上参考资料, 在Project Structure中设置了Artifacts中 WEB-INF下的classes文件夹, 点击上方的添加, 将resources资源文件夹添加进去, 重新启动项目, 即发现资源文件已经被编译到out目录下;
- 然后还是500错误, 检查out文件夹下, 发现mybatis-config.xml的路径为根路径下, 因此修改资源路径, 即通过该处代码.
其它
关于注解@WebServlet
该注解能替代基于web.xml的servlet编程
参考资料:
@WebServlet注解(Servlet注解)
https://blog.csdn.net/qq_51795666/article/details/124778720
IDEA编译Web项目时,target文件下resource目录内容没有完全编译的解决办法:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)