在使用 local Tomcat 运行本地项目的时候发现了两个问题。
问题一:HTTP 404,源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
解决方法:在配置 local Tomcat 之处 Deployment 部分的 Application context 需要与访问的 url 根路经一致。
鼠标往下滚
Application context 的内容其实就是除去域名或者 IP 地址后剩下的根路径,比如有个处理器方法的 url 地址是 address/getAll,那么完整的 url 访问路径就是 http://localhost:8080/jsp/address/getAll
问题二:处理了上述问题后出现的新问题,内部报错。
解决方法:通过与之前可以正常运行的其他项目对比发现问题出在 web.xml 的位置不正确。不知道啥原因在将 web 模块引入项目并将 webapp 文件夹设定为 web 模块的目录后,IDEA 自动添加了 web.xml 到 webapp 文件夹中,与 WEB-INF 文件夹并列。正确的方式是要将 web.xml 移到 WEB-INF 文件夹里面去 。
记录一下,方便以后遇到了知道怎么解决。
其中要注意先在 Project Structure 里的 Mdules 里新增 Web 模块,正确设置 Type(web.xml 的位置)和 Web Resource Directory(webapp 位置)。然后创建 Artifacts,选择 Web Application: Exploded,选跳出来的 From Modules,最后选择要生成的 web 项目。