创建Maven Web项目
new project——maven——勾选 create from archetype 选中webapp
下一步 (图略)填写项目的 groupId artifactId version 后Next 出现以下界面
Next后添加项目名称 Finish
第一次使用时,可能需要下载archetype webapp的插件 有时候网络不好 可能需要很长时间 不过以后就好了
此时的项目已经是Maven的 webapp项目了
这个时候IDE还有缓存,需要在右侧Maven project中 刷新一下,加载pom中的配置
(以后在pom中添加jar的依赖后,都要点击maven project的刷新按钮 刷下缓存)
这个时候Maven webapp项目就彻底创建好了 不需要再在project structure进行配置了
如下两图,都是默认给配置好的,不需要进行修改
关于Maven Web项目的配置说明
Project Structure中Artifaces的配置
如上图所示,在Aritifaces中有两个war,一个是war 一个是war exploded,在配置服务器时需要选择war exploded
千万要注意,这两个war都不应该是自己添加的,而是根据maven中的配置自己生成的
之前没有这两个war的时候,我都是自己创建,往往后果就是项目在编译后缺少jar包,依赖的jar没有自动拷贝
其实Intellij中的mavan项目配置,都是依赖于pom中的配置,如果pom中的配置正确,就不需要修改项目的IDE配置
-
首先pom要有<packaging>war</packaging>,如果pom中配置了这个,Aritifaces就会有上面的两个war
-
其次pom要有<build> <finalName>test</finalName> </build> 这个关系到上图中的output directory中的配置,finalName作为target下的项目目录,以及会创建对应名字的war包(比如test.war)
接着新建servlet
若新建servlet时,没有servlet选项,则在maven导入
刷新项目,则出现servlet选项。
import java.io.IOException;
import java.util.Date;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response){
try {
response.getWriter().println("<h1>Hello Servlet!</h1>");
response.getWriter().println(new Date().toLocaleString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
修改web.xml,添加/hello映射
<
web-app
>
<
display-name
>Archetype Created Web Application</
display-name
>
<
servlet
>
<
servlet-name
>HelloServlet</
servlet-name
>
<
servlet-class
>HelloServlet</
servlet-class
>
</
servlet
>
<
servlet-mapping
>
<
servlet-name
>HelloServlet</
servlet-name
>
<
url-pattern
>/hello</
url-pattern
>
</
servlet-mapping
>
</
web-app
>
接着配置tomcat服务器
在配置服务器时需要选择war exploded 上面已经提过了。
其他都使用默认配置
参考博客:http://how2j.cn/k/idea/idea-maven-web/1356.html#nowhere
https://yq.aliyun.com/articles/326771
欢迎大家关注我的微信公众号,获取你不知道的宝藏。