后来发现了一种更加方便的创建方式,即第一步不选择Create from archetype,创建完毕后打开Project Structure-Modules,然后选中对应module添加Web(往下拉一点),但是注意添加的Web里面的参数要修改一下,需要改的参数是Deployment Descriptors下的Path值,注意改的时候直接填写新值而不是打开弹框找web.xml,使得默认的web变成webapp,且此webapp位于src/main/文件夹中,而web.xml则在webapp下的WEB-INF目录下,填写好后再改另一个参数是Web Resource Directory,让它的值是webapp路径,注意直接写而不是通过文件浏览框定位,保存后自动生成webapp路径和web.xml文件;这么做可以省掉很多步骤,比如创建java文件夹及设置Sources,和改web.xml的2.3为3.1等等,不过仍然要将默认的1.5的JDK变成自己的版本(可以通过配置settings.xml),这种方式要自己手动添加Artifacts,添加Web Application:Exploded就行,以及添加Module的Dependencies里的Tomcat依赖,不过要将out目录改为target目录,后面再接一个项目名称作为目录即可;target目录中的内容在压缩项目时都可以删除)

(后续:可以在Default settings里设置Java Compiler和Maven的Runner的jre版本)

工具是IntelliJ IDEA 2017.2月的版本

第一步:Create New Project,在左侧找到Maven选项,然后步骤如图(这个webapp生成的项目结构个人觉得不怎么好,比如没有main/java文件夹,也没有test/java文件夹,且各个文件夹也没有设置为Sources、Resources之类的,而且web.xml居然是2.3版本的;不知道大家有没有其它推荐):

next后新窗口中填写GroupId和ArtifactId,GroupId一般是指集团/团队名称,如com.alibaba,如果是个人可以填一个自己的英文名,一般都是小写英文。

ArtifactId一般就是这个项目的名称。然后一直next然后finish。(这中间其实还可以设置一些其它参数,比如不用idea默认的maven,这里先写个最简单的)

过个几秒后Idea创建出的项目的结构如图(根据maven的archetype创建的):

这里先将IDEA创建这种archetype的Maven的项目中比较坑的地方先改掉(以后或许升级后会没有这些坑):

①点击上面的File-Project Structure,然后点击Modules,然后点击中间部位的项目名称,然后找到右侧的Language level将它的值改成8(或自己JDK的版本,这里原本默认是5),点击OK保存,过程如图:

然后在IDEA上点击File-Settings,搜索Java Compiler,将两个值改为1.8,如图:

OK后第一个坑就改好了(个人觉得1.5实在太低了,而且JRE也是向下兼容的,至少默认得1.6吧)

②将生成的web.xml改一下,原本是2.3版本的:

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>

可以改成(注意2.3版本的是不支持JSP中的el表达式的,即${msg}将不能被tomcat解析):

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>Archetype Created Web Application</display-name>
</web-app>

第二个坑也搞定了。

接下来开始继续完善Maven项目结构和相关配置

第一步先将pom.xml里改成自己需要的jar包的dependency,改好之后注意要对着pom.xml右键-Maven-Reimport(会将maven的默认配置及pom.xml里设置的配置转换导入为此项目的配置,比如jar包、JDK依赖等等)

第二步(重要),打开项目的Project Structure-Modules-Sources,如图:

(这里之前漏掉了一步,在上图中的中间处的IdeaMavenTest上面点击那个绿色的+号,然后选择Web这一栏,然后Apply;如果不这么做将无法在项目结构的webapp内右键找到New - JSP选项)

注意此时src中没有test/java文件夹(用于测试用,建议创建),且main下没有java文件夹,首先对src右键New Folder名为test,然后对新建的test文件夹右键New Folder名为java,然后对这个java文件夹右键选择为Tests。

然后对main右键New Folder名为java,对这个java文件夹右键选择为Sources,然后对main下的resources右键选择为Resources后点击OK保存。

接着在WEB-INF目录下New一个Folder名为view,此时项目结构为:

接下来就是在main中的java文件夹下创建controller、service之类的包,在view中创建jsp文件,在resources文件中创建springmvc.xml文件(注意此时的java和resources内的文件/文件夹是平级的,它们都将输出到classes文件夹(classpath)中)

剩余的步骤我就不多说了,这个是给有创建过Eclipse的动态Web项目和Maven项目的人看的,如果你没有创建过,建议先创建几个Eclipse的相应项目(eclipse目前仍然是必须要了解的)

具体的可以参考我的:http://www.cnblogs.com/silentdoer/p/7134332.html

和我整合的:http://www.cnblogs.com/silentdoer/articles/7133685.html

后续还要配置tomcat,可以参考:

http://www.cnblogs.com/yangyquin/p/5285272.html

在IntelliJ IDEA里创建简单的基于Maven的SpringMVC项目的更多相关文章

  1. Intellij IDEA创建git,maven的SpringMVC项目

    Intellij IDEA创建git,maven的SpringMVC项目 原文链接:http://www.cnblogs.com/blog5277/p/8906120.html 原文作者:博客园--曲 ...

  2. SVN基于Maven的Web项目更新,本地过程详细解释

    周围环境 MyEclipse:10.7 Maven:3.1.1 概要 最近在做项目,MyEclipse下载SVN基于上述Maven的Web问题,有时候搞了非常半天,Maven项目还是出现叉号,最后总结 ...

  3. 基于maven的javaweb项目模块化开发

    转自:https://my.oschina.net/kingfire/blog/273381 基于maven的javaweb项目模块化开发 引言 考虑团队拥有多个类似项目的情况,比如一些功能差异不大的 ...

  4. 从头开始基于Maven搭建SpringMVC+Mybatis项目(1)

    技术发展日新月异,许多曾经拥有霸主地位的流行技术短短几年间已被新兴技术所取代. 在Java的世界中,框架之争可能比语言本身的改变更让人关注.近几年,SpringMVC凭借简单轻便.开发效率高.与spr ...

  5. 从头开始基于Maven搭建SpringMVC+Mybatis项目(2)

    接上文内容,本节介绍Maven的聚合和继承. 从头阅读传送门 互联网时代,软件正在变得越来越复杂,开发人员通常会对软件划分模块,以获得清晰的设计.良好的分工及更高的可重用性.Maven的聚合特性能把多 ...

  6. 转换基于Maven的Java项目支持Eclipse IDE

    在过去的教程中,使用 Maven 创建了一个Java项目,但是这个项目不能导入到Eclipse IDE中,因为它不是 Eclipse 风格的项目. 这里有一个指南,向您演示如何转换 Maven 生成 ...

  7. IDEA热部署基于maven的web项目

    第一步:首先先创建web项目 按照向导一步一步完成项目创建,我创建的示例项目为hotdeploddemo     第二步:设置项目的web资源         下图中的路径要修改正确,指向src/ma ...

  8. 可能是最简单的方式:利用Eclipse创建基于Maven的Web项目

    1. 新建一个maven项目 2.在弹出框中选择创建一个简单项目 3. 然后输入参数,需要注意的是,在packagin中,选择war,web项目应该选择war 4. 点击finish后,基本项目结构就 ...

  9. Intellij IDEA 配置最简单的maven-struts2环境的web项目

    在idea里搭建maven项目 看着网上大神发的各种博客,然后自己搭建出来一个最简单的maven-strtus2项目,供初学者学习 新建project

随机推荐

  1. China Azure中部署Kubernetes(K8S)集群

    目前China Azure还不支持容器服务(ACS),使用名称"az acs create --orchestrator-type Kubernetes -g zymtest -n kube ...

  2. BOM物料清单在输入用料计划时快捷选择物料没有带出单位

    问题: 在新增BOM物料清单时,输入用料计划,快捷选择物料没有带出单位,但是从清单查找里面选择物料,是可以自动带出单位的. 原因分析查找: 1.这是个自定义单据,到tools工具上查看相关设置,看清单 ...

  3. 一个可扩展的深度学习框架的Python实现(仿keras接口)

    一个可扩展的深度学习框架的Python实现(仿keras接口) 动机 keras是一种非常优秀的深度学习框架,其具有较好的易用性,可扩展性.keras的接口设计非常优雅,使用起来非常方便.在这里,我将 ...

  4. [ 面试没回答上的问题2]IOS上给body绑定click事件的bug

    面试被问到ios上的bug,自己提到绑定click事件的bug,但是并没有把问题讲的很清楚,这里再清理一下思路. 这个bug只在IOS上有,包括ihone,ipad,由于ios浏览器都用的safari ...

  5. JSP7(Cookie与javamail)

    一.cookie是什么意思? 英文直接翻译过来的意思呢就是小甜品 Cookie英文意指饼干,不过在电脑术语中它可不像饼干那么简单.简单的说,Cookie就是服务器暂存放在你计算机上的一笔资料,好让服务 ...

  6. Wannafly挑战赛3 record

    B 遇见 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 65536K,其他语言131072K64bit IO Format: %lld题目描述A和B在同一条路上,他们之间的距离为 k ...

  7. gulp杂记

    一.什么是gulp gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉 ...

  8. json数据导出excel

    最近做的一个项目涉及到把数据导出到excel里面,网上找来找去,最终找到两种办法,废话不多说了 第一种: 拿到表格的id就可以抓取表格的数据,导出到excel,这种方式简单粗暴,引入这两个插件即可. ...

  9. JDBC的使用

    JDBC详解系列(一)之流程 ---[来自我的CSDN博客](http://blog.csdn.net/weixin_37139197/article/details/78838091)---   使 ...

  10. HVR又一次load的时候须要将schedule suspend掉

    今天在进行HVR的又一次load的时候.报错了: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fi ...