[转载]使用IntelliJ IDEA开发SpringMVC网站(一)开发环境

news/2024/4/28 23:44:52/文章来源:https://blog.csdn.net/weixin_34293902/article/details/88612214

访问GitHub下载最新源码:https://github.com/gaussic/Sp...

文章已针对IDEA 2016做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码。
另外:文中的附图部分仍然为旧版本,请参照自身版本进行配置。

前言

由于近期一直在做学术方面的工作,项目开发相关工作并没有花太多的时间,导致这篇文章的更新停步了很长一段时间。现在应大家的要求,补上剩余部分,望能给大家带来一些帮助。由于时间的原因,在开发环境上面有了一定的更新,但是并不造成太大的影响。

最近在做某在线教育平台网站的开发,按师兄的建议要用SpringMVC来搞。之前对SpringMVC的认知度为0,网上查阅各种资料,发现五花八门的配置都有,文章写的那叫一个乱啊,我觉得有些文章还是不要发出来的比较好,简直误人子弟耽误时间。最近借着师兄网上搜集的一些开发经验,找到了IntelliJ网站上的这篇文章《Getting Started with SpringMVC, Hibernate and JSON》(该链接已失效,内容会在文中体现),外加看了孔老师的《SpringMVC视频教程》,着实有一种醍醐灌顶的感觉,整个路子瞬间通了,开发速度指数型上涨。现在把开发过程中的一些相关经验贴出来。

一、相关环境

 - Intellij IDEA 2016.2 Ultimate- Tomcat 8.0.35- JDK 1.8.0_92- Spring 4.2.6- MySql 5.7- Maven 3.3.9- Bootstrap 3.3.5

以上是我要做的这个demo所需要的东西,当然有些是可选的,版本也是可控的。比如说如果你用不惯Maven的话可以自行去官网下载jar包然后导入自己的工程中,如果想要学习下Maven可以看看《Maven视频教程》(偶然找到,这个老师做的视频都挺好,推荐以下),不用完全的去学习Maven,懂大概意思后再去找找IntelliJ IDEA如何配置maven的相关文章就足够了。

还有Bootstrap,纯粹是个人洁癖,不需要这可以去之。

事先声明,请确保IntelliJ IDEA、Tomcat、MySql和JDK都已经安装好。Maven和Bootstrap的话能有则有。前者为了让导包更容易,后者为了让页面更美观。此外,由于jdk以及mysql的安装网上已经有了很多教程,在此为节省篇幅不做介绍。废话不多说,正式开始。

二、本地Maven与Tomcat的安装
注:如果使用IntelliJ IDEA集成的maven 3.0.5的话,可以忽略此步安装。

1、下载并安装本地maven

点击“Apache-Maven官方网站”进入官网,点击左侧Download选项:

进入了下载页面,往下拉可发现当前版本是3.3.3,点击下面红框中的apache-maven-3.3.9-bin.zip就可下载,下载后解压缩到相应目录下:

新增系统变量MAVEN_HOME:即MAVEN安装目录:

在Path中加入:%MAVEN_HOME%bin;

在cmd中输入mvn -v,若显示如下,则说明本地maven配置完成:

2、下载并安装本地Tomcat
进入Tomcat官网,点击左侧Download的Tomcat8.0,进入Tomcat的下载页面:

64位Windows版本下载64-bit Windows zip (pgp, md5, sha1),解压到所需目录下:

解压后到bin目录下运行startup.bat,如图下所示,如果出现Server startup in xxxx ms说明Tomcat安装成功。

三、创建Maven Web项目

前面说了这么多,差不多基本的东西都保障了(前提保证你已经安装了jdk)。现在进入正题,如何来创建一个Web项目。对于不使用Maven的开发者,可以直接建一个简单的Web项目。使用Maven的话,请按照图进行操作。

图片描述

菜单File->New Project可进入上图界面,首先选择左边栏Maven,再配置JDK(一般如果之前添加了JDK的话会自动填充,如未添加的话点击旁边的New将JDK目录导入即可)。勾选“Create from archetype“,然后选中4处蓝色位置webapp,点Next,:

这里需要填写GroupId和ArtifactId还有Version,这三个属性目的是标识你的项目的唯一性,比如Tomcat的GroupId是org.apache,即它是apache组织的项目,ArtifactId是tomcat,项目名为tomcat,而我当前使用的Version是7.0.68。这些只在发布时有用,在此可以随便填写,填好后点Next。

打开Maven home directory,可以发现IntelliJ IDEA已经集成了Maven 2和Maven 3两个版本,如果使用默认集成的maven的话,选择Buldled(Maven 3),直接点击Next。

我们也可以导入本地新安装的较新的Maven版本,点击蓝色箭头右边的 ... 按钮将Maven路径导入即可,点击Next:

填写项目名,选择项目保存路径,点击Finish:

maven会在后台生成web项目,这需要等待一定的时间,视网络环境而定,经验发现用较新版本的maven项目生成更快,使用IDEA集成的maven可能会等待很长一段实践。

左边红框中展示了该项目的文件结构。可以发现,它在src/main下创建了一个recources文件夹,该文件夹一般用来存放一些资源文件,还有一个webapp文件夹,用来存放web配置文件以及jsp页面等,这已经组成了一个原始的web应用。选择右边红框的Enable-Auto-Import,可以在每次修改pom.xml后,自动的下载并导入jar包,这一点在后面详述。

注:如果这一步生成实在太慢的话,建议看一下以下两篇(感谢26楼 wintersun2 同学的提出):

文章1: http://www.cnblogs.com/beiyer...
文章2:http://blog.csdn.net/cleverlz...

四、Maven自动导入jar包

既然我们要用SpringMVC开发,那肯定少不了SpringMVC的相关jar包。如果不使用Maven的话,那就需要去官网下载相关的jar包,然后导入到项目中。现在使用maven的话,就不需要上网找jar包了。具体容我一一道来。

Maven所做的工作其实很简单,就是自动把你需要的jar包下载到本地,然后关联到项目中来。maven的所有jar包都是保存在几个中央仓库里面的,其中一个最常用的是Maven Repository,即,你需要什么jar包,它就会从仓库中拿给你。那么如何告诉maven需要什么jar包呢?我们看看工程目录,能找到一个pom.xml文件(这个文件在刚创建好项目时就已经展现在了大家面前),maven就是靠它来定义需求的,代码如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.gaussic</groupId><artifactId>springmvcdemo</artifactId><packaging>war</packaging><version>1.0-SNAPSHOT</version><name>springmvcdemo Maven Webapp</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies><build><finalName>springmvcdemo</finalName></build>
</project>

我们可以看到这个文件包含了我们之前定义的本项目的gropId等信息,这些信息是该项目的标识,我们不要去改动它们。重点看<dependencies>标签,翻译过来是”依赖“的意思,也就是说把对每个包的需求都称为一个依赖<depedency>,定义在<dependencies>中。在每个<depedency>中,你需要提供的是所需jar包的groupId、artifactId、version这三个必要信息。比如上面我们看到引入可一个junit包,格式如下:

<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope>
</dependency>

这是单元测试包,提供了三个基本信息,第4个scope对其他包来说是非必需的。所有jar包的引入都要满足这个格式。那么如何查看这些jar包的3个信息呢,可能刚接触是开发者还不是很熟悉,这个时候就需要查阅仓库了。比如我们需要引入Spring核心jar包spring-core,打开Maven Repository,搜索spring-core,进入如下界面:

点击进入红框选中的Spring Core,如下所示,可以看到各版本的使用情况:

选择最新版本4.2.5.RELEASE,可以看到其dependency写法如下红框所示:

我们将其复制到pom.xml中的<dependencies>中:

这样,Maven就会开始自动下载jar包到本地仓库,然后关联到你的项目中,下载完成后,我们展开工程目录中External Libraries:

可以发现,虽然我们只写了一个依赖,但是它导入了两个jar包,也就是说,导入某个jar包时,与它密切相关的jar包也会同时被导入进来。

除了spring-core,我还要spring-context,复制spring-core的<dependency>,将spring-core改为spring-context,如下:

<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.2.5.RELEASE</version>
</dependency>

下载完成后,查看External Libraries,会不会发现,瞬间导入了好多jar包(当然不是瞬间,这得看你的网速了)呢:

这就是Maven的强大之处,如果你需要使用SpringMVC开发网站的话,只需记住几个重要的包的名字,就可以轻松将所有包导入项目中。

长话短说,现在我们要进行SpringMVC的开发,请把你的pom.xml变成下面的样子,当然不要改你的grupId等信息(从modelVersion到url都不要动):

<properties><spring.version>4.2.6.RELEASE</spring.version><hibernate.version>5.1.0.Final</hibernate.version>
</properties>

请在<dependencies>中加入以下依赖:

    <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-jpa</artifactId><version>1.10.1.RELEASE</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-entitymanager</artifactId><version>${hibernate.version}</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-c3p0</artifactId><version>${hibernate.version}</version></dependency><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.2</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.39</version></dependency>

将<build>改成如下形式:

<build><finalName>springmvcdemo</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins>
</build>

我们可以发现,除了导入了spring相关jar包,还有一些其他的包,这些包都是有作用的,我们后面慢慢说。如果不使用Maven请自行下载spring、hibernate、mysql、jstl等相关jar包然后导入到工程中。至此,jar包的导入就完成了,我们按 ctrl+alt+shift+s,或者File->Project Structure查看一下项目结构,看看有什么问题:
图片描述

由于之后我们要开始写代码了,先做一些配置,选择Modules,在SpringMVCDemo的src\main文件夹中新建一个文件夹,取名为java:

图片描述
选中java文件夹,点击上面的Make as:Sources,该文件夹就会变成蓝色,用以保存java代码,按OK,结束配置。
图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_717767.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

各大搜索引擎网站登录入口

Google网站登录Baidu 网站登录Yahoo 网站登录Live 网站登录Dmoz 网站登录Coodir网站目录登录Alexa 网站登录Sogou 非商业登录中国搜索网站登录iAsk 网站登录搜索引擎收录查询有道搜索网站登录Accoona 网站登录Onebigdirectory.com 搜索引擎批量提交Chainer.com 搜索引擎批…

初步试用Squid的替代产品──Varnish Cache网站加速器[转]

[2007-8-29 18:45 | by张宴]Varnish是一款高性能的开源HTTP加速器&#xff0c;挪威最大的在线报纸 Verdens Gang (vg.no) 使用3台Varnish代替了原来的12台squid&#xff0c;性能比以前更好。Varnish的作者Poul-Henning Kamp是FreeBSD的内核开发者之一&#xff0c;他认为现在的计…

黑马旅游网站

第一次写CSDN所以不太会&#xff01; 我接下来会记录这一段时间&#xff0c;完成黑马旅游网站的代码&#xff01;我们使用的是maven框架&#xff0c;原因很简单&#xff0c;因为黑马提供了大部分的数据跟我们&#xff0c;里面有数据库表&#xff0c;数据库网页整体的容&#xf…

beta技术沙龙:大型网站的Lucene应用

本文链接 beta技术沙龙&#xff1a;大型网站的Lucene应用 beta技术沙龙越办越有意思了&#xff0c;上次错过了阙宏宇的mod_cache&#xff08;还有关于线程进程的讨论&#xff09;就很可惜&#xff0c;这次关于Lucene的演讲&#xff0c;是无论如何不应该错过了。 到目前为止&am…

AjaxLoad动态生成加载图标的网站

Generator Indicator type : Circle ballIndicatorKitArrowsIndicator BigSnakeBouncing ballBarBar 2Bar 3Circling ballHypnotizeWheelExpanding CircleRadarRefreshFlowerBackground color : # Transparent background Foreground color : # 网址&#xff1a;http://www.aja…

Mono团队自立创业 .NET入侵苹果平台,徐汇区网站设计

众所周知&#xff0c;.NET其实并不是Windows上的专有技术&#xff0c;这一点很大程度上要感谢Miguel de Icaza所领导的Mono开发团队。他们多年不懈地工作&#xff0c;实现了跨平台的开源.NET实现&#xff08;包括CLR运行库、C#编译器和其他开发工具、组件&#xff09;。今天的M…

使用GitHub创建博客 第一篇-如何使用github.io创建自己的网站

第一篇-如何使用github.io创建自己的网站首先要有一个Github账号创建Repositories选择主题修改网站使用vscode编辑网站访问首先要有一个Github账号 用户名好像不能用汉字&#xff0c;其它的信息自己填好就可以了 创建Repositories 登录上GitHub后&#xff0c;创建一个 new R…

1月第二周域名主机网站排名TOP15 西部数码升至第二

据国际统计机构Alexa最新统计数据&#xff0c;在1月9日至15日一周时间内&#xff0c;用户覆盖数排名TOP15的国内域名主机网站分别为&#xff1a;中国万网、西部数码、易名中国、新网、网域科技、金名网、35互联、爱名网、新网互联、商务中国、主机屋、中资源、中国数据、阳光互…

微软云计算官方中文网站上线啦

公告 &#xff1a;本博客为微软云计算中文博客 的镜像博客。 部分文章因为博客兼容性问题 &#xff0c;会影响阅读体验 。如遇此情况&#xff0c;请访问 原博客 。 11月29日&#xff0c;微软云计算官方中文站http://www.microsoft.com/china/cloud 上线啦&#xff01; 还…

dw cs6 html建站点,dreamweaver cs6网页中制作锚点链接的教程方法

部分网友刚刚下载使用dreamweaver cs6的朋友们&#xff0c;可能还不是很熟悉其中制作锚点链接?下面这篇内容就为你们带来了dreamweavercs6网页中制作锚点链接的教程方法。dreamweaver cs6网页中制作锚点链接的教程方法我们需要先打开dreamweaver cs6软件&#xff0c;选择一个空…

【转】如何让虚拟目录里面的webconfig不继承网站

今天要部署一个网站和一个和网站相关的webservices接口,我把网站部署后,就把WEB接口作为它下面的一个虚拟目录来处理了,这样他们可以共享一个域名.他们各个都有一个webconfig配置文件,部署后发现网站正常,可是WEB接口却报错,说配置文件出了问题,仔细检查发现WEB接口用的是网站的…

学用MVC4做网站一:用户登陆1.2

一用户 1.1用户注册 1.2用户登陆 首先在Models里添加用户登陆模型类UserLogin&#xff0c;该类只要用用户名&#xff0c;密码和验证码三个字段。 /// <summary>/// 用户登陆模型/// </summary>public class UserLogin{/// <summary>/// 用户名/// </summa…

一年来网站开发之总结(中国传统路线:血淋淋的散乱道路)

一.序幕 去年年底来到现在这个公司&#xff0c;这段时间内发生很多事情&#xff0c;直接或者间接的改变了这个创业互联网公司的命运。 关键角色有BOSS&#xff0c;PM&#xff0c;CTO。 BOSS在这个行业做了十几年&#xff0c;有了积累&#xff0c;然后想做做行业网站。听说同…

小说阅读网站的‘作者’为何不用实名制?

我们注意到&#xff0c;绝大部分小说阅读网站对‘作者’不用实名制。是什么原因导致的呢&#xff1f; 一、原因分析 其实网络作者&#xff08;注意&#xff0c;不是‘作家’&#xff09;之所以大都非实名制&#xff0c;与其起源有关。 1&#xff09;因为TA们一开始都是草根&…

年度盛宴:2012年最佳25个响应式网站设计作品《上篇》

2012年&#xff0c;响应式网站设计成为主流&#xff0c;这个概念由著名网页设计师 Ethan Marcotte 在2010年5月份提出&#xff0c;其目标是要让设计的网站能够响应用户的行为&#xff0c;根据不同终端设备自动调整尺寸。 响应式设计不再只是一个概念&#xff0c;众多大公司也把…

牟长青:浅谈如何提高网站PR值

2019独角兽企业重金招聘Python工程师标准>>> PR值如何提高&#xff0c;已经不是什么好神秘的事情。唯一的方法就是大量的增加外链&#xff0c;因此我这篇文章&#xff0c;虽然标题是如何提高PR值&#xff0c;其实主要就是讲如何增加外部链接&#xff0c;提高PR值。 …

Win7下安装配置IIS 构建自己的网站

一、首先是安装IIS。打开控制面板&#xff0c;找到“程序与功能”&#xff0c;点进去 二、点击左侧“打开或关闭Windows功能” 三、找到“Internet 信息服务”&#xff0c;按照下图打勾即可 等待安装完成 四、安装完成后&#xff0c;再回到控制面板里面&#xff0c;找到“管理工…

使用Mitmproxy工具进行小姐姐图片(不管什么网站,只要是.jpg格式的图片都可自动下载)的批量下载

抓取目标: 1.首先Mitmproxy工具的下载及使用: 点我观看! 2.实战——小姐姐图片批量下载: 实现——在你使用浏览器欣赏你自备的小姐姐图片资源的时候自动下载哦! <

分享35个富有创意的蓝色网站设计作品

蓝色是网页设计中最流行的颜色之一&#xff0c;蓝色表现出一种美丽、冷静、理智、安详与广阔。由于蓝色沉稳的特性&#xff0c;具有理智、准确的意象&#xff0c;在商业设计中&#xff0c;强调科技&#xff0c;效率的商品或企业形象&#xff0c;大多选用蓝色当标准色。今天这篇…

从零开始Web自动化(三):通过selenium,9行代码实现打字网站的自动打字

写在前面&#xff1a; 这个专栏主要是分享一些python、Web自动化的相关知识。 需要你具备一定的python基础&#xff0c;参考教程&#xff1a;廖雪峰python教程 掌握红框中的内容即可&#xff01; 通过实战项目让你学会包括&#xff1a;python、selenium、测试报告、监听、特殊…