1. jsp页面访问不到,肯定是文件的路径不对,先看下target中部署到Tomcat打的包里jsp文件位置在哪
只有jsp页面在如图所示位置才能被浏览器直接访问到
当页面放在 WEB-INF 下面的时候,这是不能被浏览器直接访问到的,它是安全目录,不能被客户端访问,所以要想访问到WEB-INF下面的jsp页面,需要通过Servlet来 转发
2. 检查下各个文件在项目中的位置是否正确,这直接影响到了最终生成的包
正确的位置如图所示,我就是因为web放在了src外面,导致web里的页面始终访问不到,生成的部署包也奇奇怪怪的
3. 看一下项目模块中文件配置是否正确,这直接影响了最后生成的部署包
我是将springSSM配置分三个文件写的,根据自己的文件情况来看
3. 每个位置对应的部署后包的位置
由图可以看到,在对项目封装部署时,webapp 文件夹中的文件还是目录是与 WEB-INF 平级的,而其余的 java文件 还是 resource 都是在 WEB-INF 中的,而在 WEB-INF 文件夹中,lib 是放所有依赖, classes 文件夹中放的是java和Resource的文件,而 webapp 中原本WEB-INF里的目录和文件与classes同级,在 classes 中,resource目录与文件和java同级
绕来绕去,我的理解概括就是,WEB-INF是安全目录,是不被客户端直接访问的,所以要展现的东西就放在WEB-INF外面,例如css、js、静态页面等等,而其余的java文件和配置资源就要放在WEB-INF里面,这样客户端就不会访问到,WEB-INF里面文件夹也有级别顺序,java和配置资源被放在同一个文件夹classes中,与web方面的资源和lib依赖同级别,不得不说位置还是很巧妙的,可以细品
4. 把这些都配好,文件写对地方,最后部署后应该就没问题了
|