java框架SSM学习——SpringMVC环境搭建以及部署到Tomcat上

    技术2025-11-27  17

    在这里我会使用一个入门级小案例去演示全过程

    1.新建Maven工程项目

    选择Create from archetype后在里面找到 首先修改<properties>

    <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <spring.version>5.0.2.RELEASE</spring.version> </properties>

    然后在<dependencies>中加入必要的jar包

    <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <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> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> </dependencies>

    2.修改在WEB-INF中的Web.xml

    我们在里面要写出前端控制器,以及一个防止网页乱码的过滤器。代码如下

    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <!--前端控制器--> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>ContextConfigLocation</param-name> <param-value>classpath:SpringMVC.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!--防止乱码过滤器--> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>Encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> 这里显示异常,为/*没有错误,但是在的文章编写中他会代表注释掉,代码是正常的
    注意:
    第一个组件——前端控制器在这里就配置了,这是在SpringMVC中最重要的一个组件之一。
    servlet-name可以随便起。
    servlet-class引用jar包中的DispatcherServlet作为核心去建立前端控制器。
    init-param代表是当创建前端控制器时需要初始化的东西,里面参数名param-name我一般起为ContextConfigLocation;param-value为初始化的SpringMVC的配置文件,classpath为关键字,前端控制器看到这个关键字会去src文件下的resources资源文件夹中寻找关键字对应的xml文件。名字是需要区分大小写的,如果你的SpringMVC配置文件名为springmvc.xml,那么你在这写的classpath则为springmvc.xml。
    load-on-startup代表你创建时创建多少个,我只需要创建一个前端控制器,所以值为1。
    在servlet-mapping中第一个参数和前面一样;而url-pattern则是代表前端控制器需要拦截的请求,而/代表全部拦截。
    filter代表的是过滤器,属性基本和上面的一样格式,而在最后的过滤器映射中,需要拦截的是/*,表示全部过滤

    现在我们缺少SpringMVC的classpath中的配置文件。则我们下一步创建SpringMVC.xml配置文件

    创建SpringMVC.xml配置文件

    在resources的资源文件夹中创建此配置文件,代码如下:

    <?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" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!--需要扫描的包--> <context:component-scan base-package="com"></context:component-scan> <!--视图解析器--> <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/pages/"></property> <property name="suffix" value=".jsp"></property> </bean> <!--开启mvc注解--> <mvc:annotation-driven></mvc:annotation-driven> </beans>
    注意:
    头文件在以前也讲过很多次了,而对于使用SpringMVC的使用头文件,需要先在网页上点开spring.io进入网页。然后点击

    进入以后按ctrl+f,在查找框中输入xmlns:context

    复制到xml中,然后再添加上到相应的位置上(自己观察有什么顺序要求)
    xmlns:mvc="http://www.springframework.org/schema/mvc" http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd
    视图解析器在这里需要被注入,所以这里新建视图解析器。注入的方法应该在Spring的IoC中已经讲过就不讲了,类引用外部jar包中的InternalResourceViewResolver类。那么里面的子属性是什么意思呢?prefix则是前缀的意思,suffix则是后缀的意思。你告诉视图解析器,需要返回的视图的前缀文件名以及后缀名,那么我只要告诉你剩下的一个字符串即可拿到完整的返回路径。比如,我等下要解析最后返回的路径为/WEB-INF/pages/success.jsp,那么我只要返回String字符串:success则可以解析出此路径为/WEB-INF/pages/success.jsp,然后去调用即可。
    需要扫描的包在之前讲Spring的时候已经讲过了,就不再阐述了。
    等会我们需要用到SpringMVC的注解,那么我们要开启识别Springmvc注解。则在里面使用了标签:<mvc:annotation-driven></mvc:annotation-driven>

    编写index.jsp

    将项目部署到tomcat中的默认主页我们需要编写一下。我们使用jsp:

    <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false"%> <html> <head> </head> <body> <h3>入门案例</h3> <a href="user/testSpringMVC">入门案例测试</a> </body> </html>
    注意:
    在第一篇中我们说了,这是用户看到的页面,我们在此页面中设置了链接,而此操作是执行了什么方法呢?则就是在里面的user/testSpringMVC方法。那么我们需要有Controller去接收以及执行方法。那么我们编写Controller。

    编写Controller

    package com.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/user") public class userController { @RequestMapping("/testSpringMVC") public String testSpringMVC(){ System.out.println("testSpringMVC方法被执行"); return "success"; } }
    注意:
    @Controller注解我们就不多说了,需要扫描的类的标志
    @RequestMapping注解作用于类或者方法中。作用是作为通信去作为Controller和用户页面的通信连接。比如在这里就是<a href="user/testSpringMVC">入门案例测试</a>调用了user/testSpringMVC这个通信模式。则SpringMVC会找到此类名上的一级路径user;再找到二级路径testSpringMVC。就找到了需要执行的方法。然后执行后返回String则是我在上面解释视图解析器的时候就已经讲完了。如果执行了此方法则返回success,在视图解析器中就会获得完整路径,然后去调用此页面作为返回页面给用户观看。

    编写返回页面success.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false"%> <html> <head> </head> <body> <h3>执行方法成功!入门成功</h3> </body> </html>
    至此,整个入门案例的代码部分就完成了。

    将案例部署到Tomcat上

    注意:
    我使用的是community版的idea,对于企业版的idea来说缺失一些功能,但是还是可以用的。首先在执行项目的按钮旁边有个Add Configuration

    点进去,然后点击+
    大部分是没有tomcat的,因为是社区版。那么我们可以点击File->Settings找到Plugins,然后点击Browse repositories去在里面搜索smalltomcat然后下载即可。

    图示中我已经下载过了,所以只是演示一遍。然后再重新开启idea点击Add Configuration的+号,就会有Smart Tomcat
    然后点进去,修改我画红线的部分

    点击确认即可,再点击运行项目即可,运行后出现开启Tomcat的信息,最后出现的网址则是默认页面index.jsp:

    点击进入网址

    点击链接

    控制台输出

    这样一个入门小案例,测试SpringMVC的过程和部署到Tomcat上的过程就完成啦。以后都是基于这些步骤去增加功能,整体的步骤是没有改变的。

    Processed: 0.018, SQL: 9