0.前言

上一篇中我们已经把SpringMVC基础环境搭建出来了。这一篇我们继续来配置SpringMVC。我们先把需要的文件夹都建立好。

整个搭建过程可以分为下面几步:

(1)同过pom.xml引入jar包

(2)创建Spring MVC的配置文件,在web.xml 中配置Servlet,定义DispatcherServlet。

(3)创建配置文件springmvc-servlet.xml

(4)创建controller

(5)创建view

(6)部署运行

1.添加依赖

我们在pom.xml文件添加这些坐标。

 <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
    </dependency>
  </dependencies>

关于这些坐标的区别和联系可以点这。

2.配置web.xml

SpringMVC 是基于Servlet的框架,DispatcherServlet是整个SpringMVC框架的核心,它负责截获请求并将其分配给相应的处理器处理。那么配置SpringMVC,首先要进行DispatcherServlet的配置。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
         http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
  <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-servlet.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>
</web-app>



关于web.xml中的参数详解可以点这。

注意,这个地方需要注意一下,默认的版本是2.3。最好把它改成上面的版本中,因为在测试中遇到一个实际问题发现就是web.xml版本问题。


3.创建springmvc-servlet.xml文件

在项目工程resource目录下添加上面提到的spingmvc-serlvet.xml。有的也叫springmvc-web.xml(名字无所谓,只有对应正确就行)

其配置文件spingmvc-serlvet.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:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/mvc
       http://www.springframework.org/schema/mvc/spring-mvc.xsd
       http://www.springframework.org/schema/context
       https://www.springframework.org/schema/context/spring-context.xsd">

    <mvc:annotation-driven/>
    <mvc:default-servlet-handler/>
    <context:component-scan base-package="com.cat.controller"/>
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

关于springmvc-servlet.xml的配置文件的解析可以点这。

4.创建controller

到目前位置,springmvc的相关环境配置已经完成,接下来编写Controller和view,然后就可以测试运行了。

新建包
IDEA下新建包

输入com.cat.controller (名字也是无所谓,不过最好符合一定规则)

在这里面编写代码:

package com.cat.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
/*
 * controller 负责提供访问应用程序的行为,通常通过接口定义或者注解定义两种方法实现。
 * 控制器负责解析用户的请求并将其转换为一个模型。
 * */
@Controller  //代表这个类会被spring接管,被这个注解的类中所有方法,如果返回值是string,并且有具体的页面可以跳转,那么就会被视图解析器解析
public class IndexController {
     
    @RequestMapping("/hello")   //意为请求 localhost:8080/hello 
    public String hello(Model model){
        //封装数据(向模型中添加数据,可以jsp页面直接取出并渲染)
        model.addAttribute("name","张三");
        model.addAttribute("sex","男");
        model.addAttribute("age",16);
        System.out.println(model);
        //会被视图解析器处理
        return "hello";   //返回到哪个页面     
    }
}

不理解Model和ModelAndView的原理和用法可以点这。

5.创建view

创建完了上面的controller,下面开始写页面。注意,我们在sprigmvc-servlet.xml中定义过这样的前缀,这意味着我们要把jsp页面都写在WEB_INF/jsp这个文件夹下面才能正常访问到。

  <property name="prefix" value="/WEB-INF/jsp/"/>

wenj我们在相应的文件夹下,新建hello.jsp文件(跟上面controller中的return 对应好)。


<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
hello.jsp页面
<p>姓名:${name}</p>
<p>性别:${sex}</p>
<p>年龄:${age}</p>
</body>
</html>

6.部署运行

配置一下tomcat


开始运行。请求地址为:


localhost:8080/hello

浏览器会弹出如下信息。


返回目录:JAVA


分类: java