目录
IDEA 与Tomcat 的相关配置(为了方便后期使用IDEA与Tomcat的集成)
配置 Servlet
额外的,不外乎就是在 Edit Configurations...中搞事情
其实当你在创建JavaEE项目的时候,同时也在Tomcat中部署了web项目,那么Servlet只需要在web.xml中配置配置就行了
其中Edit Configurations...中看一下,配置好虚拟目录,区分不同的Module
那么 Servlet 中还有注解也要了解一二
在类上使用@WebServlet 注解,进行配置
@WebServlet("资源路径")
注解配置或者用配置文件(web.xml)都可以,不过都有优点和缺点
IDEA 与Tomcat 的相关配置(为了方便后期使用IDEA与Tomcat的集成)
IDEA 会为每一个tomcat 部署的项目单独建立一份配置文件
例如,我们部署 day13-tomcat这个项目,进而进行讲解
以前我们针对项目文件夹下的配置文件进行更改,现在只需要在Tomcat 图形化界面进行配置的更改。
其中,针对每个项目,当我们启动Tomcat服务器后,可以发现,控制台第二行有该项目的配置文件路径
当我们在Tomcat图形化界面针对所部署的项目修改虚拟目录或者端口号时,我们定位如下
C:\Users\lx\.IntelliJIdea2017.3\system\tomcat\_basic-code 此路径,会发现旗下的conf文件夹下的配置文件发生了更改(发生了细微的变化)
同时,看看我们的项目虚拟目录
定位到C:\Users\lx\.IntelliJIdea2017.3\system\tomcat\_basic-code\conf\Catalina\localhost下的day13-tomcat.xml,并打开
其中 path 是虚拟目录,而 docBase 是项目存放的路径
如图是,day13-tomcat项目的一个动态web项目的目录结构,对应于IDEA中的web目录结构
其中 WEB-INF 下有 classes 文件夹以及 web.xml 文件
classes文件夹存放的是 src 下的Java编译后生成的字节码文件
如上图所示,tomcat 部署的 web 项目在 docBase 目录下,那么和 工作空间中的项目 有什么区别呢?
其中,day01-code、day02-code 等,表示工作空间中的项目,其中 out\artifacts 目录下放的才是对应Tomcat部署的web项目。所以这两个不一样。
对应关系:Tomcat部署的web项目和工作空间的web目录一样
所以,如果在工作空间中web目录下定义了一些资源,就会自动被增添到 Tomcat 的部署目录。
那么,WEB-INF 目录下的classes 下的 字节码文件是从 src 下来的,也就是说,src 中的Java文件将来被编译后生成的字节码文件,会被放在 WEB-INF\classes 下,其中的Servlet被编译即是在浏览器中访问此资源时被编译,而普通的Java文件是直接在IDEA中编译运行时生成。
断点调试
以前 Java 断点调试只需要打断点即可调试,而 Tomcat 中的断点调试不但需要打断点,还需要换一种启动方式。
比如以前 Java断点调试时,只需要打断点,然后点击运行,而现在Tomcat断点调试则需要打断点,开启Debug调试(小虫子)
点小虫子启动,就是来启动服务器,并且部署这个项目。然后在项目的类文件中打断点,