后来发现了一种更加方便的创建方式,即第一步不选择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. JQuery使用笔记

    1.选择器 id选择器: $('#btnShow') class选择器: $('.banner') tag选择器: $('input') 2.常用方法 取 / 设value: $('#btnShow' ...

  2. c语言的typedef

    一.typedef作用简介 1.作用:给已经存在的类型起一个新的名称 2.使用场合: 1> 基本数据类型 2> 指针 3> 结构体 4> 枚举 5> 指向函数的指针 * ...

  3. 面试相关-转载-well,yzl——持续更新

    转载yl,yzl大神的面经,顺便自己复习一下专业课的内容 操作系统相关: 什么是进程, 什么是线程.它们之间的区别和联系. 进程管理内存资源+运行过程, 线程只管理运行过程, 线程要在进程提供的资源基 ...

  4. ES 入门之一 安装ElasticSearcha

    安装ElasticSearcha 学习ES也有快一个月了,但是学习的时候一直没有总结.以前没有总结是因为感觉不会的很多,现在对ES有一点了解了.索性就从头从安装到使用ES做一个详细的总结,也分享给其他 ...

  5. ChatterBot之使用mongodb 03

    上一篇我们已经搭建好了mongodb环境,本篇为简单示例. 废话不多说先上代码然后开始讲解; !!!别忘了打开你的mongdb服务!!!,如果没有mongodb请看上篇如何安装mongodb; # - ...

  6. JavaScript OOP(三):prototype原型对象(即构造函数的prototype属性)

    通过构造函数生成的实例化对象,无法共享属性或方法(即每个实例化对象上都有构造函数中的属性和方法):造成了一定的资源浪费 function Obj(name,age){ this.name=name; ...

  7. Linux 定期自动备份文件夹脚本

    根据网上代码改编而成,这个脚本分为两个文件,一个是执行文件backup.sh,另一个是备份项目文件backup.txt.backup.txt这个文件比较好理解,就是一个text文件,它的每一行表示一个 ...

  8. phpcms网站搬家 至 服务器 完整并且详细过程

    上传服务器空间后,才会通过搜索域名进行网页访问. 上传的过程肯定会有很多东西要修改,例如数据库怎么上传.路径怎么修改等..... 这就让大家看下,自己不断尝试后的完整搬家步骤!!! 一.上传服务器 ( ...

  9. 反射---hasattr、getattr、setattr、delattr

    class Foo: f = "类的静态变量" def __init__(self,name,age): self.name = name self.age = age def s ...

  10. vue-cli 使用小技巧

    1.关闭烦人的eslint 语法检测,在 config 文件夹下 设置: // Use Eslint Loader? // If true, your code will be linted duri ...