[CentOS 7专用] Spring MVC/Maven 部署、入门与示例(纯菜鸟专用,一气呵成)

[CentOS 7专用] Spring MVC/Maven 部署、入门与示例(纯菜鸟专用,一气呵成)

前言

针对Spring MVC和Maven的入门教程,网上有较多参考资料。这里重点分享一下在Linux系统上,进行安装、部署和示例开发与运行的说明。

Linux系统版本

$ cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core) 

安装JDK1.8.0

官方下载地址:https://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html

下载后,解压:

$ tar -xzvf ./jdk-8u181-linux-x64.tar.gz

解压后,可以移到你希望保存的目录。然后通过root权限修改 /etc/profile 文件,追加对JAVA和JRE的配置。例如:

$ sudo vim /etc/profile

追加刚才JDK目录的变量设置JAVA_HOME和JRE_HOME:

export JAVA_HOME=/path/to/jdk1.8.0_151
export JRE_HOME=/path/to/jdk1.8.0_151/jre

然后,修改PATH变量,追加JDK配置后变成:

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

保存后,刷新一下系统变量。

$ source /etc/profile

验证一下Java是否安装成功:

$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

如果看到类似上面信息,表明Java已安装成功!

 

安装Maven

首先,到官网下载Maven的执行包:apache-maven-3.6.0-bin.tar.gz。

官网下载链接:https://maven.apache.org/download.cgi

下载后,同样,进行本地解压:

$ tar -xzvf ./apache-maven-3.6.0-bin.tar.gz 

然后,通过root权限修改/etc/profile,追加Maven系统变量。

export MAVEN_HOME=/path/to/apache-maven-3.6.0

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MAVEN_HOME/bin

别忘了要载入新的系统变量,使用:source /etc/profile。

测试一下:

$ mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: /home/dogstar/env/apache-maven-3.6.0
Java version: 1.8.0_151, vendor: Oracle Corporation, runtime: /home/dogstar/env/jdk1.8.0_151/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.3.3.el7.x86_64", arch: "amd64", family: "unix"

扩展部分

(此部分不是主线,感兴趣可以稍候再体验一下)如果是首次使用Maven,为了加深对Maven的理解,可以参考官网给的例子,一步步学习使用Maven,传送门:https://spring.io/guides/gs/maven/

 

到现在,我们的Java和Maven就已经安装完毕啦!

 

Spring MVC示例

参考官网的示例:https://spring.io/guides/gs/serving-web-content/

下载源代码:git clone

首先,先下载需要的示例代码:

$ git clone https://github.com/spring-guides/gs-serving-web-content.git

进入目录:

$ cd ./gs-serving-web-content/complete

这时,只有Java源代码和一些其他的文件,比较简单(还没生成任何编译的东西):

$ tree
.
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── hello
    │   │       ├── Application.java
    │   │       └── GreetingController.java
    │   └── resources
    │       ├── static
    │       │   └── index.html
    │       └── templates
    │           └── greeting.html
    └── test
        └── java
            └── hello
                └── ApplicationTest.java

 

第一步,maven编译:mvn compile

重点部分来了,首先,使用maven进行编译。在当前目录(gs-serving-web-content/complete, 有pom.xml的目录),执行以下命令:

$ mvn compile

因为是第一次编译,这时会下载很多东西。会看到有很多类似这样的输出:

Downloaded from central: https://repo.maven.apache.org/maven2/org/iq80/snappy/snappy/0.4/snappy-0.4.pom (15 kB at 42 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/tukaani/xz/1.5/xz-1.5.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/tukaani/xz/1.5/xz-1.5.pom (1.9 kB at 5.6 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.4/plexus-archiver-3.4.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.4/plexus-archiver-3.4.pom (5.3 kB at 16 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.1.1/maven-archiver-3.1.1.jar

稍微等一下,就能编译完成。如果再次编译,并且没有代码修改时就会看到:

编译完成后,会在target目录看到很多编译的class文件,例如(部分生成的class文件):

└── target
    ├── classes
    │   ├── application.properties
    │   ├── hello
    │   │   ├── Application.class
    │   │   └── GreetingController.class

 

第二步,使用maven进行打包:mvn package

这时,还不能直接运行。需要使用maven进行打包,继续执行以下命令:

$ mvn package

等屏幕刷完后,在最后,可以看到【BUILD SUCCESS】字样,例如:

如果有报错,就要根据提示进行修正。

 

第三步,运行Sprint MVC示例,java -jar xxx

最后,我们就可以执行示例看到效果啦,想想都激动!

继续在当前目录,即:/path/to/gs-serving-web-content/complete,执行以下命令:

$ java -jar ./target/gs-serving-web-content-0.1.0.jar

如果正常的话,就可以看到大大的Spring字样,以下相关的输出信息,例如:

打开浏览器,并访问:http://172.16.30.39:8081/greeting?name=dogstar, 就能看到示例网站运行的最终效果啦!

细心的同学可能已经发现,上面是8081端口,而不是默认的8080端口。这是为什么呢?因为很可能8080端口已经被占用,如果补占用,在运行时就会提示这样的错误:

Description:

The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or the connector may be misconfigured.

解决方案是,新建应用配置文件 ./src/main/resources/application.properties ,并且在里面添加以下配置内容,指定端口。

server.port=8081

搞定!!

 

补充一点,作为一直喜欢单元测试的我,如果想执行单元测试,可以执行:mvn test,运行后效果如下:

 

加分操作:配个域名

每次都用IP访问,有点不方便,并且不雅观。可以通过Nginx来配置一个域名。

首先,添加配置文件:/etc/nginx/conf.d/springmvc.examples.com.conf ,放置以下信息:

server {
        listen 80;
        server_name springmvc.examples.com;

        location / {
                proxy_pass http://127.0.0.1:8081;
        }
}

主要是把域名springmvc.examples.com反向代理到本地的8081端口。

 

然后,重启nginx:

# systemctl  reload nginx

 

最后,在本地客户端的Windows系统,追加以下Host:

172.16.30.39 springmvc.examples.com

 

这样,就可以把原来的:http://172.16.30.39:8081/greeting?name=dogstar

换成:http://springmvc.examples.com/greeting?name=dogstar

转载于:https://my.oschina.net/dogstar/blog/2413946

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值