【SpringMVC系列1】SpringMVC + Intellij + Tomcat环境部署

简介: 上周五转岗到小米其它部门,第一件事情就是需要搭建环境,周围同事本来想用Intellij IDEA来搭建环境,但是都失败了,结果后来都用Eclipse,所以想自己倒腾一下,花了3个小时终于把环境搭建好了,特此记录一下。

$2]UOGWI~JCJNU00HKN3_[5.jpg

讲述SpringMVC + Intellij IDEA + Tomcat环境搭建。


前言


上周五转岗到小米其它部门,第一件事情就是需要搭建环境,周围同事本来想用Intellij IDEA来搭建环境,但是都失败了,结果后来都用Eclipse,所以想自己倒腾一下,花了3个小时终于把环境搭建好了,特此记录一下。


使用环境


Intellij IDEA 2020.1

JDK 1.8.0_211

spring 4.3.14

Tomcat 8.5.69


Tomcat安装


参考:https://www.jianshu.com/p/69496fb3495e

文章中说的方法,有几个点需要注意:

  1. 文中说是在网址中输入“localhost”,这个其实不对,应该输入“localhost:8080”;
  2. 不一定需要把Tomcat拷贝到/Library/Tomcat中,因为根目录或导致权限问题,为了更简单,我直接把Tomcat放入我本地目录下,比如"/Users/mengloulv/Documents/Java/apache-tomcat-8.5.69",一样用的飞起。


SpringMVC


代码结构

其它代码我都删掉了,只保留最核心的部分:

image.gifTR1))R0$IUQ1A5$}EZ5@BX3.png


代码和配置

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd">
        <!--使用context命名空间,通知spring扫描指定目录,进行注解的解析-->
        <context:component-scan base-package="com.lvmenglou"/>
        <!--启用@Autowired等注解-->
        <context:annotation-config/>
</beans>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <!--DispatcherServlet-->
  <servlet>
    <servlet-name>springmvc-deom</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <!--配置XML文件路径 第2步新建的文件-->
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:applicationContext.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    <async-supported>true</async-supported>
  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc-deom</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

index.jsp

<html>
<body>
<h2>Hello World!</h2>
</body>
</html>

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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>org.example</groupId>
  <artifactId>springmvc-deom</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>demo4 Maven Webapp</name>
  <url>http://www.example.com</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <spring.version>4.3.14.RELEASE</spring.version>
  </properties>
  <dependencies>
    <!-- Spring核心依赖 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!-- Spring web依赖 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
  </dependencies>
  <build>
    <!-- 如果不加这个,执行时,会找不到*.xml文件,参考:https://blog.csdn.net/wt_better/article/details/90261220 -->
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.*</include>
        </includes>
        <filtering>false</filtering>
      </resource>
    </resources>
  </build>
</project>

HelloWord.java

@Controller
public class HelloWord {
    @RequestMapping("/test")
    @ResponseBody
    public String test() {
        return "My first test!";
    }
}


Tomcat配置


我的Tomcat安装路径为:/Users/mengloulv/Documents/Java/apache-tomcat-8.5.69

EMR(NFAA7YN_F%XVP{2DE76.pngA$SQKUI`Z89$B6~K1`FPY]P.jpgimage.gifimage.gifV4`G}UPX2E1GJONM1](L83B.jpg

F{FIQX{MXAJ8A8_QBPENXCD.jpg

_MA7HSO3~EP)KH(67O(OC@M.jpg

这里说明一下Fix中,选择两者的区别:

  • war模式:将WEB工程以包的形式上传到服务器 ;
  • war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;

9O2CAM8`4$02A]9KW7YA7I0.jpg

你选择“war exploded模式”后,会在Application context中给出指定路径,如果你在Server中配置的URL为“http://localhost:8080”,那么在Application context需要修改为“/”,这里千万不要加路径,否则到时你访问“http://localhost:8080”时会失败。


启动服务


`X`CY3_K`AN]15CANT6WW5K.png

访问“http://localhost:8080/”:

C@S1XEF}U`HHHIEM~0W2A$0.png

访问“http://localhost:8080/test”

W{72E46E[6}$4U%D6_1XL14.png

相关文章
|
3月前
|
XML 前端开发 Java
SpringMVC入门到实战------2、SpringMVC创建实例Hello SpringMVC(maven+tomcat)
这篇文章是SpringMVC框架的入门教程,详细指导了如何在IDEA中使用Maven和Tomcat创建SpringMVC工程,包括添加依赖、配置web.xml、编写控制器、创建配置文件、配置Tomcat服务器以及进行基本的测试,展示了一个简单的Hello SpringMVC示例。
SpringMVC入门到实战------2、SpringMVC创建实例Hello SpringMVC(maven+tomcat)
|
2月前
|
监控 Java 应用服务中间件
部署tomcat部署实战案例
本文是关于Tomcat部署实战案例的教程,包括通过yum和二进制方式部署Tomcat的详细步骤,以及如何监控Tomcat服务。
206 84
部署tomcat部署实战案例
|
3月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
2月前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
5月前
|
Ubuntu 前端开发 JavaScript
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
|
26天前
|
Java 应用服务中间件 Linux
tomcat学习二:tomcat部署多个项目:不修改端口和修改端口 两种方式详解
这篇文章详细介绍了在Tomcat服务器上部署多个项目的方法,包括不修改端口和修改端口两种方式。
81 0
|
3月前
|
应用服务中间件 Docker 容器
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
这篇文章介绍了在Docker中安装Tomcat的过程,包括搜索Tomcat镜像、拉取镜像、目录挂载的准备、创建并挂载容器,以及如何进入容器和进行测试。文中还说明了如何将WAR包部署到Tomcat服务器并访问部署的应用。
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
|
3月前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
2月前
|
前端开发 Java 应用服务中间件
react自学(6) 部署到tomcat中
react自学(6) 部署到tomcat中
|
3月前
|
应用服务中间件 Linux 网络安全
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面