前言
文章主要介绍在Intellij IDEA集成开发环境中,利用Maven构建Java Web项目的详细步骤,目的是作为从Eclipse转到Intellij IDEA的一个过渡教程。
详细步骤
- Create New Project
- 选择Maven
- 勾选Create from archetype
- 选择org.apache.maven.archetypes:maven-archetype-webapp
GroupId: com.dmw
ArtifactId: chapter16
Version: 1.0-SNAPSHOT
- Next
- Next
- File
- Project Structure
- 如果IDEA自动生成如下目录建议先删除,目录,然后再自己手动添加。
- 根据实验,这是无法访问web资源,导致404的原因。
- Add
- Web
- Choose Module
- 添加一个Web Resources Directory,指向webapp目录
- Create Artifact
- Apply
- Edit Configuration
- Add New Configuration
- Tomcat Server
- Local
- Server
- Name:chapter16
- Application Server: Tomcat 7.0.853
- Deployment
- Artifact
- Apply
- 配置完成后,代码编辑页面会出现tomcat服务
- 运行服务
- 运行结果
补充
Servlet should have a mapping
问题分析:其实各种资源路径都没有说明问题,只是在创建工程的时候往往会漏掉一步。
我们可以看到,Path的路径为:
D:\idea-workspace\chapter17\web\WEB-INF\web.xml,
我们应该把它改为:
D:\idea-workspace\chapter17\src\main\webapp\WEB-INF\web.xml
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
问题分析:和前面的问题一样,各种资源配置并没有什么问题,同样是在创建工程的时候忽略了一个步骤。
这样就可以成功运行你的web应用了。
404
问题分析:假设你导入的是一个运行测试正常的项目,但是你发现在尝试访问webapp下面的任何一个jsp页面的时候他都会报404,甚至访问localhost:8080的时候也一样。
解决办法:因为在导入工程后会发现,/File/ProjectStructure/Facets目录下的配置都已经配置好了,所以直接配置tomcat并尝试测试运行。但是404,在重新配置facets后成功访问到了页面。
总结
作为一个刚从eclipse专用的idea的程序员来说,idea的各种配置确实麻烦(虽然一开始用eclipse配置的时候也经常出问题),但是idea确实更加智能,不过这也是让我觉得不舒服的地方,感觉自己就是个搬砖的。