解决Tomcat中设置默认项目时只能访问静态页面的问题
2015-06-28 11:36
573 查看
最近遇到一个很奇葩的问题,项目完成后,我想将该项目放在tomcat中,并设置为默认的程序启动,我用两种方式设置tomcat默认启动的web应用程序:
1.解压war包后修改项目名为ROOT,覆盖原来的ROOT文件夹,简单粗暴,只能访问静态文件,所有的servlet都无法访问。
2.在conf文件夹下修改server.xml.在该配置文件的<Host></Host>标签之间添加如下标签:
<Context path=" /project" docBase="项目的绝对路径" debug="0" reloadable="true" />
说明:
Context指上下文,实际上就是一个web项目;
path是虚拟目录,用于浏览器防问的URL,访问的时候用localhost:8080/project/*.jsp访问网页 ,path="'时直接localhost:8080可访问。
docBase是网页在硬盘上的实际存放位置的根目录,映射为path虚拟目录;
debug的值表示是否调试。
reloadable="true"表示你修改了jsp文件后不需要重启就可以实现显示的同步
用这种方式设置了默认启动程序后,依然只能访问静态资源,让人抓狂。看来并不是设置默认启动项目的问题,而是项目本身的问题。
最终咨询了一位大神,解决了这个问题:
选择工程-->右键选择Properties-->选中MyEclipse选项并展开-->选择Web选项-->将Web Context-root设置为/ROOT。重新导出为war包解压到tomcat相应目录即可解决。
截图如下:
1.解压war包后修改项目名为ROOT,覆盖原来的ROOT文件夹,简单粗暴,只能访问静态文件,所有的servlet都无法访问。
2.在conf文件夹下修改server.xml.在该配置文件的<Host></Host>标签之间添加如下标签:
<Context path=" /project" docBase="项目的绝对路径" debug="0" reloadable="true" />
说明:
Context指上下文,实际上就是一个web项目;
path是虚拟目录,用于浏览器防问的URL,访问的时候用localhost:8080/project/*.jsp访问网页 ,path="'时直接localhost:8080可访问。
docBase是网页在硬盘上的实际存放位置的根目录,映射为path虚拟目录;
debug的值表示是否调试。
reloadable="true"表示你修改了jsp文件后不需要重启就可以实现显示的同步
用这种方式设置了默认启动程序后,依然只能访问静态资源,让人抓狂。看来并不是设置默认启动项目的问题,而是项目本身的问题。
最终咨询了一位大神,解决了这个问题:
选择工程-->右键选择Properties-->选中MyEclipse选项并展开-->选择Web选项-->将Web Context-root设置为/ROOT。重新导出为war包解压到tomcat相应目录即可解决。
截图如下:
相关文章推荐
- 12.The APR based Apache Tomcat Native library which allows optimal performance
- 10.Tomcat删除项目时,删除那些文件或文件夹?
- Tomcat配置域名和虚拟目录
- 如何通过外网访问自己的tomcat
- J2EE编辑中的中文乱码解决问题
- tomcat配置虚拟主机
- Tomcat的配置
- Apache/Tomcat/JBOSS/Nginx区别
- JavaWeb学习笔记——Tomcat相关
- tomcat+jdk+mysql在windows下一键安装包制作过程
- 利用tomcat发布WEB项目到内网和外网的方法
- Tomcat 7 中的 WebSocket
- Tomcat 7 中的 WebSocket
- windows下安装Tomcat服务
- Linux CentOS7安装Tomcat7
- Tomcat与Servlet工作流程
- - 配置Tomcat 中文字符集
- Tomcat部署web项目
- 如何设置Tomcat的默认端口
- Tomcat部署Web项目方式