在IntelliJ IDEA里创建简单的基于Maven的SpringMVC项目
后来发现了一种更加方便的创建方式,即第一步不选择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项目的更多相关文章
- Intellij IDEA创建git,maven的SpringMVC项目
Intellij IDEA创建git,maven的SpringMVC项目 原文链接:http://www.cnblogs.com/blog5277/p/8906120.html 原文作者:博客园--曲 ...
- SVN基于Maven的Web项目更新,本地过程详细解释
周围环境 MyEclipse:10.7 Maven:3.1.1 概要 最近在做项目,MyEclipse下载SVN基于上述Maven的Web问题,有时候搞了非常半天,Maven项目还是出现叉号,最后总结 ...
- 基于maven的javaweb项目模块化开发
转自:https://my.oschina.net/kingfire/blog/273381 基于maven的javaweb项目模块化开发 引言 考虑团队拥有多个类似项目的情况,比如一些功能差异不大的 ...
- 从头开始基于Maven搭建SpringMVC+Mybatis项目(1)
技术发展日新月异,许多曾经拥有霸主地位的流行技术短短几年间已被新兴技术所取代. 在Java的世界中,框架之争可能比语言本身的改变更让人关注.近几年,SpringMVC凭借简单轻便.开发效率高.与spr ...
- 从头开始基于Maven搭建SpringMVC+Mybatis项目(2)
接上文内容,本节介绍Maven的聚合和继承. 从头阅读传送门 互联网时代,软件正在变得越来越复杂,开发人员通常会对软件划分模块,以获得清晰的设计.良好的分工及更高的可重用性.Maven的聚合特性能把多 ...
- 转换基于Maven的Java项目支持Eclipse IDE
在过去的教程中,使用 Maven 创建了一个Java项目,但是这个项目不能导入到Eclipse IDE中,因为它不是 Eclipse 风格的项目. 这里有一个指南,向您演示如何转换 Maven 生成 ...
- IDEA热部署基于maven的web项目
第一步:首先先创建web项目 按照向导一步一步完成项目创建,我创建的示例项目为hotdeploddemo 第二步:设置项目的web资源 下图中的路径要修改正确,指向src/ma ...
- 可能是最简单的方式:利用Eclipse创建基于Maven的Web项目
1. 新建一个maven项目 2.在弹出框中选择创建一个简单项目 3. 然后输入参数,需要注意的是,在packagin中,选择war,web项目应该选择war 4. 点击finish后,基本项目结构就 ...
- Intellij IDEA 配置最简单的maven-struts2环境的web项目
在idea里搭建maven项目 看着网上大神发的各种博客,然后自己搭建出来一个最简单的maven-strtus2项目,供初学者学习 新建project
随机推荐
- LKD: Chapter 6 Kernel Data Structures
这一章我们研究四种主要的数据结构: linked lists, queues, maps, binary trees. Linked Lists:(<linux/list.h>) 在lin ...
- AIO5系统中关于赠品处理的方法
最近频繁有人问我,关于赠品在AIO5系统中如何处理.首先AIO5系统支持赠品处理关于赠品,在AIO5系统中走的是[其他出库单]路径:仓库--仓库作业--其他出库单--新增(如下图) 通常赠品对应的业务 ...
- 浏览器Agent大全 (含IE 11, Edge)
Edge mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/51.0.27 ...
- Bzoj 4950
Description 那是春日里一个天气晴朗的好日子,你准备去见见你的老朋友Patrick,也是你之前的犯罪同伙.Patrick在编程竞赛上豪赌输掉了一大笔钱,所以他需要再干一票.为此他需要你的帮助 ...
- 基于Java使用Snmp4j进行监控与采集(snmptrap、snmpwalk、snmpget)
之前有在弄监控服务器这块的工作,今天来整体总结下.因为有些服务器(路由器.交换机等都是基于snmp协议的)必须使用snmp协议去监控采集和接收信息,所以必须去了解snmp相关内容,以及如何在基于jav ...
- poj 2159 D - Ancient Cipher 文件加密
Ancient Cipher Description Ancient Roman empire had a strong government system with various departme ...
- mongoDB之数据库操作
mongoDB中的数据库操作 查看数据库名称: db 查看所有数据库: show dbs 切换数据库: use 数据库名称 注意:如果数据库不存在,则指向数据库,但不会创建.直到插入数据或者是创建集合 ...
- window.open()被拦截问题
最近做项目的时候遇到一个需求,在商品详情页面中点击购买按钮,之后再新标签页中打开生成的订单页面,所以想用window.open()来实现.但是测试的时候发现打开的链接被浏览器拦截. 之后,开始在网上查 ...
- nginx防恶意域名解析
今天无意间查看访问日志发现一个fhxywh.com的域名居然解析到了我的服务器,也就是说通过这个域名也能访问我的博客,这个就是赤裸裸的恶意域名解析了. 这个危害非常大,不仅会影响用户,而且不利于SEO ...
- django序列化时使用外键的真实值
展示: 普通情况下序列化得到的外键的内容仅仅是id: ... { fields: { uat_date: "2015-07-25", statu: "CG", ...