工程创建
先选一个模板:
接下来,一路next,填工程信息:
maven配置信息:
工程目录位置:
最后,点击finish,创建完成。
默认,创建的只有一个src/main/webapp目录,按照maven的约定,再创建个src/main/java和src/main/resources目录,需要的话,再创建src/test/*目录,我这个未创建src/test/了。
目录结构如下:
然后,标记下目录:
java作为源码目录,resources作为资源文件目录。
pom.xml引入servlet依赖:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.0</version>
<scope>provided</scope>
</dependency>
配置个tomcat:
这样基本就完成了。
运行配置,正常情况下,工程启动浏览器就打开页面,出现下面这个:
但是第一次我的没有反应(遇到问题了,上面截图的时候,问题已经解决了),我主动请求:http://localhost:8080/index.jsp。出现的是:
404问题
首先,我左看右看,觉得我这个工程是没有问题的。
我最先想到的是不是因为我的代码目录位置的原因,我用的软件都是配置在我当前用户目录所在分区,代码是在其它分区上。关于我的操作系统环境,我在这篇博文有说明: jvisualvm监控本地进程查看不到线程信息,且CPU报:Not supported for this JVM。
我将代码放到用户目录下的子目录,问题依然没解决。
然后,我在控制台的启动日志上没有看到一些tomcat启动脚本打印的信息,我在想是不是启动脚本的原因,然后,就想着把catalina.sh的debug信息打印出来:
写一个debug.sh脚本,代码如下:
然后,配置下idea,
改一下,启动脚本,然后启动时候,我看了下脚本从头到尾运行信息,没看出毛病:
只截出了部分。
最开始用的tomcat8,jdk7,怀疑是不是Jdk的原因,这个时候,我已经病急乱投医了。换成1.8也不行。
最后,终极大杀器:重启。毕竟电脑好几天没关闭过了,最近也在报system error。
重启也没用。
查看idea部署工程的目录下,始终只有一个manager目录,没有ROOT目录,也再没有其它目录:
我觉得,我的工程idea一直没有正常部署。
然后怀疑是tomcat的问题,我用的tomcat是8.5.5,重新下载换了个tomcat7.0.94,好了!!!
可是,tomcat哪里的问题还没找到。