Spring MVC -- Spring Tool Suite和Maven(安装Tomcat、JDK)
目录
Spring提供了自己的集成开发环境(IDE),称为Spring Tool Suite(STS),它可能是构建Spring应用程序的最佳IDE了。STS捆绑了Maven作为其默认依赖管理工具,因此不需要单独安装Maven。
一 安装STS
百度搜索Spring Tools Suite官网,进入到下载页面https://spring.io/tools3/sts/all/。
下载zip文件后,将其解压到到一个文件夹下。
解压后包含一个sts-bundle目录,其下又有3个目录:
- 法律文件,包含各种工具的许可协议;
- pivotal-tc-server-developer-x.y.z.RELEASE,包含Pivotal tc服务器的开发人员版本x.y.z;
- sts-x.y.z.RELEASE,包含STS,其中x.y.z代表为STS的主版本和次要版本。
在解压后的sts-bundle下的sts-x.y.zRELEASE目录中STS.exe便是可执行程序,用于启动STS,将该文件发送到桌面快捷方式,当我们想使用STS时可以快速的找到。

打开STS后,界面如下图所示,跟Eclipse几乎没有什么差别,只是多了Spring的很多应用。
接下来我们为STS进行优化设置,大部分都可以参考Eclipse的配置,具。下面我们修改STS的编码方式为UTF-8,在菜单栏点击Windows-->Perference-->General-->Workspace,将编码方式设置为Other,然后在下拉框中选择UTF-8:
接下来我们设置Maven的settings.xml和Repository(仓库)的位置,点击Windows-->Perference-->Maven-->User settings,在右侧设置本机安装的Maven这些文件的位置:
二 创建一个Spring MVC应用
STS严重依赖Maven,并允许你创建使用Maven依赖管理关系的应用程序。要创建Spring MVC应用程序,请按照下列步骤操作:
1、点击File->New->Maven Project,你会看到如图所示的项目对话框;
2、勾选Create a simple project(skip archetype selection);
3、点击Next按钮继续配置项目,将出现如下图所示的配置项:
4、在“Group Id”中输入包名,例如“com.example”;在”Artifact Id“中输入项目名称,例如”first-spring-mvc“;
5、在”Packaging“下拉框中选择“War”,告诉STS创建一个Spring MVC应用,war是servlet/jsp应用的文件扩展名;
6、点击Finish按钮,你将在Project Explorer中看到项目;
7、STS将会创建一个如上图所示的工程和一个pom.xml文件(maven配置文件)。现在,需要编辑pom.xml,以便让maven来处理依赖。双击pom.xml,用默认编辑器打开文件。编辑器有多个选项卡,提供查看和编辑文件的不用方式。选项卡名称显示在对话框的底部,其中一个选项卡是“Dependencies”选项卡,允许管理项目所需要的依赖项。单击依赖项选项卡:
8、通过Dependencies选项卡添加依赖是一种相对容易的方式,我们在这里展示如何做。典型的Spring MVC应用程序至少包含3个库:Servlet API、Spring MVC库和JSTL。要添加Servlet API,清单击"Dependencies"窗口中的Add按钮,将打开"Select Dependency"对话框:
要输入的值如下:
Group Id:javax.servlet
Artifact Id:javax.servlet-api
Version:3.1.0
Scope:provided
provided表示当应用程序分发时,该库将由容器提供,不需要包含在war文件中。
完成输入后,单击“OK”按钮,关闭该对话框,返回到“Dependencies”选项卡。
9、接下去,使用同样的方式添加Spring MVC库,点击Add按钮,输入如下值:
Group Id:org.springframework
Artifact Id:spring-webmvc
Version:5.1.6.RELEASE
Scope:compile
10、最后添加JSTL库,
点击Add按钮,输入如下值:
Group Id:javax.servlet
Artifact Id:jstl
Version:1.2
Scope:runtime
11、按Ctrl+S保存pom.xml文件,这样STS将通过下载依赖项构建项目。这里需要连接到互联网,除非以前使用Maven下载过所需要的库。
Maven完成下载依赖项后,将会在Library中看到一个Maven Dependencies文件夹:
这些依赖是放在C:\Users\Administrator\.m2\repository路径下的,也就是我们在第一节中设置的Repository路径:
在应用创建之初,pom.xml文件中存在一个错误,这主要是因为当前应用找不到web.xml文件,要解决这个问题,需要打开pom.xml文件,单击pon.xml选项卡。在pom.xml文件中查找<dependencies>元素,并在其上添加如下内容。注意:failOnMissingWebXml元素用来打开或关闭由于缺少web.xml文件引起的错误消息。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
三 选择Java版本
通过向pom.xml文件添加属性来为应用程序选择Java版本。请按如下步骤操作:
1、单击Overview选项卡,点击“Properties”下拉列表右侧的Create按钮,将打开“Add Property”对话框:
2、在“Name”中输入“maven.compiler.source”,在“value”输入框中输入“1.8”;
3、保存pom.xml文件,此时我们应该可以看到Libraries中的JRE System Library由J2SE-1.5变成了JavaSE-1.8:
注意JaveSE:表示Java标准版本;J2SE:是JaveSE的简称,从Java1.6版本之后,都叫做JaveSE-x.y,x.y是版本号。说到这里,我觉得有必要补习一下JAVA的几点基础知识:
- JRE全称:Java Runtime Envirnment,顾名思义,是Java的运行环境,类似于微软的.net FrameWork;而JDK全称为:Java SE Development Kit。所以如果不需要做Java程序开发,只需要运行Java程序的,下载安装JRE就可以了;如果你安装了JDK,那么在JDK的安装目录下,也会生成一个jre文件夹(注意:如果是安的是JDK11之后的版本,安装JDK的时候会同时安装JRE,但是此时你看不到jre相关的文件夹);
- JDK1.5和JDK5.0是同个版本,叫法不同,以后都称5.0、6.0等,可能Sun觉得版本混乱以后不好命名所以改了;
- 原来的J2SE、J2EE、J2ME现在都改成了:Java SE、Java EE、Java ME。
如果STS仍然报错,那是因为它找不到JRE1.8,我们可以通过执行如下步骤告诉他在哪里找到Java:
(1)、单击Window->Perferences;
(2)、在左窗格中选择Jave->Installed JRE,然后单击Add按钮;
(3)、选择Standard VM,然后点击Next,将会看到如下图的对话框,点击“Directory”按钮,并浏览到JDK主目录。
4、点击Finish。如果你已经安装成功会在JRE列表中看到JDK:
注意:如果没有安装JDK,可以参考博客:Java开发环境的搭建以及使用eclipse从头一步步创建java项目。
最终pom.xml配置文件如下:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>first-spring-mvc</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
</properties>
</project>
四 创建index.html文件
要完成示例应用程序,需要创建一个index .html文件并将其保存在src/main/webapp下。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
Welcome!
</body>
</html>
五 更新项目
在运行应用程序之前,还需要更新项目。右键单击应用,然后Maven->Update Project。
之后,应用的目录结构如下:
六 Tomcat安装
你需要一个Tomcat或其他的servlet容器来运行应用程序。如果你没有安装Tomcat,请现在安装,如果安装过了可以跳过该步骤。
Tomcat是当今最流行的Servlet/JSP容器,它是免费的、成熟、开源的。
1、下载和配置Tomcat
首先,从http://tomcat.apache.org网站下载Tomcat最新版本。选用zip或者gz格式的最新二进制发行版本。
下载了文件后,要进行解压,随后就能在安装目录看到如下几个目录:
- 在bin目录中,可以看到启动和终止Tomcat的程序;
- webapps目录很重要,因为默认情况下在那里部署应用程序,不过部署路径是可以修改的;
- conf目录包含了包含了配置文件,包括server.xml和tomcat-user.xml文件;
- lib目录包含了编译Servlet和定制标签所需的Servlet和JSP API。
2、启动和终止Tomat
进入bin文件,双击运行startup.bat文件(windows)或startup.sh文件(UNIX/Linux/Mac OS)来启动Tomcat。
我们可以看到应用程序被部署到webapps/ROOT路径下。
默认情况下,Tomcat在端口8080运行,因此可以在浏览器中打开如下网址:
http://localhost:8080/
此时默认访问的是webapps/ROOT/index.jsp文件,默认访问的文件可以通过conf\web.xml文件进行修改:
<!-- ==================== Default Welcome File List ===================== -->
<!-- When a request URI refers to a directory, the default servlet looks -->
<!-- for a "welcome file" within that directory and, if present, to the -->
<!-- corresponding resource URI for display. -->
<!-- If no welcome files are present, the default servlet either serves a -->
<!-- directory listing (see default servlet configuration on how to -->
<!-- customize) or returns a 404 status, depending on the value of the -->
<!-- listings setting. -->
<!-- -->
<!-- If you define welcome files in your own application's web.xml -->
<!-- deployment descriptor, that list *replaces* the list configured -->
<!-- here, so be sure to include any of the default values that you wish -->
<!-- to use within your application. -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
终止Tomcat时,运行bin目录下的shutdown.bat文件(windows)或者shutdown.sh文件(UNIX/Linux/Mac OS)。
如果想要修改端口号,请使用编辑器打开conf/server.xml找到如下配置行:
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
-->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改port即可,这里我修改为8008。
3、配置STS
(1)、打开Window——> Preferences ——>Runtime Environment窗口,点击Add:
(2)、找到Apache Tomcat v8.5,与我们下载的Tomcat版本要一致,然后点击Next按钮:
亲爱的读者和支持者们,自动博客加入了打赏功能,陆陆续续收到了各位老铁的打赏。在此,我想由衷地感谢每一位对我们博客的支持和打赏。你们的慷慨与支持,是我们前行的动力与源泉。
日期 | 姓名 | 金额 |
---|---|---|
2023-09-06 | *源 | 19 |
2023-09-11 | *朝科 | 88 |
2023-09-21 | *号 | 5 |
2023-09-16 | *真 | 60 |
2023-10-26 | *通 | 9.9 |
2023-11-04 | *慎 | 0.66 |
2023-11-24 | *恩 | 0.01 |
2023-12-30 | I*B | 1 |
2024-01-28 | *兴 | 20 |
2024-02-01 | QYing | 20 |
2024-02-11 | *督 | 6 |
2024-02-18 | 一*x | 1 |
2024-02-20 | c*l | 18.88 |
2024-01-01 | *I | 5 |
2024-04-08 | *程 | 150 |
2024-04-18 | *超 | 20 |
2024-04-26 | .*V | 30 |
2024-05-08 | D*W | 5 |
2024-05-29 | *辉 | 20 |
2024-05-30 | *雄 | 10 |
2024-06-08 | *: | 10 |
2024-06-23 | 小狮子 | 666 |
2024-06-28 | *s | 6.66 |
2024-06-29 | *炼 | 1 |
2024-06-30 | *! | 1 |
2024-07-08 | *方 | 20 |
2024-07-18 | A*1 | 6.66 |
2024-07-31 | *北 | 12 |
2024-08-13 | *基 | 1 |
2024-08-23 | n*s | 2 |
2024-09-02 | *源 | 50 |
2024-09-04 | *J | 2 |
2024-09-06 | *强 | 8.8 |
2024-09-09 | *波 | 1 |
2024-09-10 | *口 | 1 |
2024-09-10 | *波 | 1 |
2024-09-12 | *波 | 10 |
2024-09-18 | *明 | 1.68 |
2024-09-26 | B*h | 10 |
2024-09-30 | 岁 | 10 |
2024-10-02 | M*i | 1 |
2024-10-14 | *朋 | 10 |
2024-10-22 | *海 | 10 |
2024-10-23 | *南 | 10 |
2024-10-26 | *节 | 6.66 |
2024-10-27 | *o | 5 |
2024-10-28 | W*F | 6.66 |
2024-10-29 | R*n | 6.66 |
2024-11-02 | *球 | 6 |
2024-11-021 | *鑫 | 6.66 |
2024-11-25 | *沙 | 5 |
2024-11-29 | C*n | 2.88 |

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2018-05-23 第十八节,自编码网络介绍及代码实现