IDEA Java Web配置
这篇文章适合使用IDEA创建过普通java类的coder
tomcat配置
- tomcat版本对应表:
Servlet Spec | JSP Spec | EL Spec | WebSocket Spec | JASPIC Spec | Apache Tomcat version | Actual release revision | Supported Java Versions |
---|---|---|---|---|---|---|---|
4.0 | TBD (2.4?) | TBD (3.1?) | TBD (1.2?) | 1.1 | 9.0.x | 9.0.0.M9 (alpha) | 8 and later |
3.1 | 2.3 | 3.0 | 1.1 | 1.1 | 8.5.x | 8.5.4 | 7 and later |
3.1 | 2.3 | 3.0 | 1.1 | N/A | 8.0.x (superseded) | 8.0.35 (superseded) | 7 and later |
3.0 | 2.2 | 2.2 | 1.1 | N/A | 7.0.x | 7.0.70 | 6 and later (7 and later for WebSocket) |
2.5 | 2.1 | 2.1 | N/A | N/A | 6.0.x | 6.0.45 | 5 and later |
2.4 | 2.0 | N/A | N/A | N/A | 5.5.x (archived) | 5.5.36 (archived) | 1.4 and later |
2.3 | 1.2 | N/A | N/A | N/A | 4.1.x (archived) | 4.1.40 (archived) | 1.3 and later |
2.2 | 1.1 | N/A | N/A | N/A | 3.3.x (archived) | 3.3.2 (archived) | 1.1 and later |
所以,如果要使用IDEA最新(现在是2019.2.4)版本,即Servlet4.0,那么需要使用tomcat9以上
- tomcat配置
每次创建项目时都需要配置一次tomcat,在设置默认tomcat的配置时,最好把所有的包都加上去,那么在Project Structure的Libraries中就不需要在额外添加tomcat的相关包了(如:servlet-api.jar,jsp-api.jar)
tomcat的配置如图(如果不懂,可先看下一节):
项目创建
要创建一个简单的java web项目,一般要经过如下几个步骤:
-
File > New > Project
-
选择一个web项目,如图:
-
指定项目名
-
配置tomcat:选择Run > Edit Configurations,为项目配置tomcat(可参考tomcat配置这一节),再添加artifacts
-
如果是有Servlet的项目,则需要导入Servlet的相关包,IDEA是不会自动导入的,这些包都在tomcat > lib目录下
项目导包
项目导的包有都必须在File > Project Structure > Modules中进行配置,项目导包共有三种方式,建议使用第二种:
-
直接从Modules中选择jar包或目录,如图:
-
先在Libraries中添加包,再在Modules添加,建议使用这种方式,如图:
-
在WEB-INF目录下创建classes和lib目录,并修改项目的output目录,这一种方式在网上一搜一大推,我就不介绍了,而且我强烈不建议使用这种方式来导包,实在是太麻烦了,IDEA的项目路径没必要去参考eclipse的
-
如果在导包的过程中出现了问题,一般来说,在Problems中都有提示,选择fix就是,如图:
Servlet项目的创建
- 在src目录下:右键New > Create New Servlet(以前版本的是Servlet)
- 以注解形式创建的Servlet类中,@WebServlet()中有name的默认参数,而我们要指定映射的话应该是参数urlPattren,我们不想再每次创建Serlvet是WebServlet中都有一个name参数,这时,我们可以修改Servlet模板,在:File > Settings > Editor > File and Code Templates > other > Web > Java code templates > Servlet Annotated Class.java,中修改一下,如图:
不仅仅是Servlet,像Filter,Listener都可以在这里修改。
IDEA重启服务器的四个层级
- resource:更新静态文件,即web目录下的文件,包括html和jsp
- classes or resource:普通类的更新
- redeploy:更新Servlet、web.xml
- restart server:重启服务器,对于新添jar包