zoukankan      html  css  js  c++  java
  • 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:UsersAdministrator.m2 epository路径下的,也就是我们在第一节中设置的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文件,默认访问的文件可以通过confweb.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按钮:

    (3)、点击Browse按钮,找到我们Tomcat的解压路径:

    点击Finist按钮,完成设置。

    (4)、新建Server。在Servers选项卡中右键New——>Server,然后点击Finist按钮:

    (5)、第一次新建Server之后,双击Tomcat v8.5 Server at localhost,是可以修改Server Locations的,将默认选项:Use workspace metadata(dose not modify Tomcat installation)修改为:Use Tomcat installation(takes control of Tomcat installation),此时应用程序是部署到tomcat安装路径下的wtpwebapps路径下的。这样在STS启动了tomcat服务器,我们也能够访问到tomcat本地管理首页。否则只能在DOS下使用Tomcat的启动命令才能访问Tomcat本地管理首页。

    4、定义上下文

    要将Servlet/JSP应用程序部署到Tomcat,需要定义一个Tomcat上下文,在Tomcat中,每一个Tomcat上下文都表示一个Web应用程序

    定义Tomcat上下文有以下几种方法:

    • 在Tomcat的conf/Catalina/localhost目录下创建一个XML文件;
    • 在Tomcat的conf/server.xml文件中添加一个Context元素;

    (1)、第一种方式

    如果决定给每一个上下文都创建一个XML文件,那么这个文件名就很重要,因为上下文路径是从文件名衍生得到的。例如,把一个first-spring-mvc.xml文件放在conf/Catalina/localhost目录下,那么应用程序的上下文路径就是first-spring-mvc,并且可以利用如下URL访问该应用的一个资源:

    http://localhost:8008/first-spring-mvc/resourceName

    first-spring-mvc.xml文件中必须包含一个Context元素,作为它的根元素。这个元素大多没有子元素,它是该文件中的唯一元素。例如:

    <Context docBase="E:apache-tomcat-8.5.41wtpwebappsfirst-spring-mvc" reloadable="true" />

    这里唯一必要的属性是docBase,它用来定义应用程序的位置。reloadable属性是可选的,但是如果存在,并且将它的值设置为true,那么一旦应用程序中的Java类文件或其他资源有任何增加、减少、更新。Tomcat都会检测到,那么Tomcat就会重新加载应用程序,在部署期间,建议将reloadable设置为true,在生产期间,不建议这么做。

    当把first-spring-mvc应用程序复制到wtpwebapps目录下,Tomcat就会自动加载应用程序,当删除这个应用程序时,Tomcat就会自动卸载应用程序。

    (2)、第二种方式

    定义上下文的另一种方式是在conf/server.xml文件中添加一个Context元素。为此,要先打开文件,并在Host元素下创建一个Context元素,与前一种方法不同的是,此处定义上下文需要给上下文路径定义path属性,如下:

    <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
            <!-- SingleSignOn valve, share authentication between web applications
                 Documentation at: /docs/config/valve.html -->
            <!--
            <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
            -->
    
            <!-- Access log processes all example.
                 Documentation at: /docs/config/valve.html
                 Note: The pattern used is equivalent to using pattern="common" -->
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log" suffix=".txt"/>
          <Context docBase="E:apache-tomcat-8.5.41wtpwebappsfirst-spring-mvc" path="/first-spring-mvc" reloadable="true" source="org.eclipse.jst.jee.server:first-spring-mvc"/>
    </Host>

    一般来说,不建议通过server.xml来管理上下文,因为只有重启Tomcat后,更新才能生效,不过,如果有许多应用程序需要测试,使用server.xml比较理想,因为可以在一个文件中同时管理所有的应用程序。

    如果使用STS调试程序,我一般选择server.xml来管理上下文,因为STS自动部署应用程序就是采用的这种方式。

    七 运行应用

    请按照如下步骤运行程序:

    1、右键单击项目并选择Run As ——> Run on Server,你将看到如下对话框:

    2、如果没有看到我们之前安装的Tomcat服务器,那么我们选择Manually define a new server。

    3、然后选择Apache下的Tomcat v8.5 Server,然后点击Finish按钮。

    STS将启动Tomcat并运行应用程序,下图显示了STS的Web浏览器,其中显示了应用程序的默认页面:

    现在,就可以按照之前写的博客来添加动态内容了。

    如果要管理Tomat及其上部署的所有应用程序,清打开STS中的服务器视图:

    参考文献

    [1]Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    [2]Spring MVC学习指南

    [3]eclipse怎么设置server location

  • 相关阅读:
    Springcloudalibaba之Nacos服务注册和配置中心
    SpringBoot监控工具包Actuator使用
    服务注册中心之Consul使用
    微服务项目SpringcloudAlibaba
    微服务之链路跟踪SpringCloudSleuth
    微服务之消息驱动SpringCloudStream
    微服务之消息总线SpringCloudBus
    微服务之配置中心Config
    深入理解javascript原型和闭包(1)——一切都是对象
    js中函数创建的三种方式
  • 原文地址:https://www.cnblogs.com/zyly/p/10912501.html
Copyright © 2011-2022 走看看