由于在记事本工具里开发Servlet满足不了开发效率,所以开发Servlet需要借助开发工具,以提高开发效率。这里介绍一下在IDEA里开发Servlet的步骤。
一、在IDEA里创建web工程
1.创建新项目
打开IDEA,新建新的project。
2.创建web工程
选择java企业级项目:
为项目绑定Tomcat,添加Tomcat的根目录。
点击next进入项目名的设置:
设置完项目名后,web工程就创建好了。
3.web工程结构
下图是创建好的web工程的结构,其中src是用来存放Servlet源代码的:
4.为项目添加servlet-api.jar
选中项目,File-Projectstructure,进入项目结构界面。
依次点击Libraries、+、java,进入选择jar包的界面:
选择要添加的servle-api.jar包
然后在点击apply、OK:
5.创建Servlet
添加好jar包后,就可以先创建Servlet。
选中src,新建一个javaclass
为Servlet取名字:
让class继承HttpServlet,重写doGet方法,运行。
下面是快速重写doGet的方法:
点击运行按钮运行Servlet:
运行完成后,会自动打开浏览器显示结果:
注:运行时基于黑窗口启动的Tomcat要关闭,否则会造成端口抢占。
6.在IDEA中配置Tomcat
点击这里可以进行配置Tomcat
7.修改项目的访问路径
配置后需要重启
二、IDEA中的web项目部署
在Idea中默认的并不会把web项目真正的部署到Tomcat的webapps目录中,而是通过为每个web项目创建一个独立的Tomcat副本并在Tomcat副本中通过的Tomcat的Context组件完成项目的目录指定,在Context组件的docBase属性中会指定Idea对web项目编译后的目录out/artifacts/.....。
1.默认的部署方式
IDEA会在
C:\Users\胖咸鱼\.IntelliJIdea.3\system\tomcat目录下为每个web项目创建一个独立的Tomcat副本。这个目录就是IDEA在运行的时候,在系统中设置的临时环境变量CATALINA_BASE的值:
在C:\Users\胖咸鱼\.IntelliJIdea.3\system\tomcat\Tomcat_9_0_34_demo
\conf\Catalina\localhost副本目录中会生成一个该项目的.xml文件
在该.xml文件里指定web项目编译完成后的artifacts目录的位置:
IDEA通过执行Tomcat的catalina.bat启动脚本启动Tomcat,通过启动参数来指定启动Tomcat副本,运行指定目录中的web项目。
这两条命令在和窗口(cmd)里也可以直接启动和关闭Tomcat,在Tomcat里双击startup.bat启动Tomcat其本质就是在执行这个启动命令,所以catalina.bat才是启动Tomcat的关键脚本:
Idaa在启动Tomcat之前会先在操作系统中设置一些临时环境变量,这些变量会被Tomcat的启动脚本所读取。
CATALINA_BASE:是Tomcat副本的工作目录
CATALINA_HOME:是Tomcat的安装目录
在Catalina.bat启动脚本运行时,会先去判断脚本中的CATALINA_HOME以及CATALINA_BASE是否有默认值,如果没有则直接读取系统环境变量中的值作为他们的默认值。由于Idea在启动Tomcat之前已经设置了临时环境变量,所以tomcat在启动后就会运行部署在Tomcat副本中的web项目。
2.将web项目部署到Tomcat的webapps中
File-Projectstructure中打开项目结构页面:
在Tomcat的webapps中创建一个demo目录,指输出artifacts的目录为Tomcat的webapps中的demo目录:
启动Tomcat,查看demo目录下的内容:
这样就是把我web项目部署到了Tomcat的webapps中。