部署-Deploy 是☞将程序部署到Tomcat下,也就是web程序的发布。部署时,需要部署所有的class文件、web.xml、jar文件、JSP文件。
手工部署
E:\setup\apache-tomcat-9.0.13\webapps 下新建一个目录:FirstWeb
然后把web下内容copy进来
用命令启动这个tomcat实例,startup
访问:http://localhost:8080/FirstWeb/HelloServlet
这个地方端口是8080,和IDEA配置不同。
从这里还可以看到一个问题,IDEA肯定是根据自动发包配置启动了一个新的Tomcat进程。
而我们手工copy进入webapps目录的包,采用的是tomcat conf文件下的配置。
自动部署
前面已经在IDEA配置了tomcat
IDEA默认的tomcat发布路径:
C:\Users\Administrator.IntelliJIdea2018.2\config\tasks
config前的内容根据自身的环境变动。
导出WAR包
war 包就是普通的ZIP文件,只是里面包含一个Web应用程序。
war-web Archive web档案文件。
eclipse打war包非常简单,直接导出就行了,当然如果有依赖工程需要ant。
现在我们要了解下IDEA如何打WAR包。
什么是artifact?
artifact是一种用于装载项目资产以便于测试,部署,或者分布式软件的解决方案。例如集中编译class,存档java应用包,web程序作为目录结构,或者web程序存档等。
artifact 可以作为存档文件,或者作为包含以下结构元素的目录结构。
- 一个或多个编译模块
- 模块依赖的类库
- Resources集合
- 其他artifacts
- 独立的文件 目录或存档
如何导出artifact
-
1、配置
上面我们已经有这个配置,添加一个Web Application:Archive,然后给他一个名字。
把右边想要的class、静态资源、lib jar等都加载进来就可以了。 -
2、导出
Build -->Build Artifacts…
D:\workspace\idea\HelloWorld\out\artifacts\HelloWorld 目录下可以看到war:
HelloWorld.war
放到Tomcat webapps目录下,再运行tomcat试下。
访问:http://localhost:8080/HelloWorld/HelloServlet
调试程序debug模式
Debug是一种开发人员的核心能力,尤其对于码农来说,开发质量大多相对较差,很多东西不是非常了解。
所以代码是调试出来的,而非开发出来的,这句话是非常准确的。
对我们来说,debug是必备技能。
点击小虫子运行,在调试上的地方打断点,然后f8逐步看指令运行顺序,和每步的数据变化。