springmvc实现一个简单的Hello World

步骤一:首先先创建一个project,创建一个project就是一个工作空间,在这里就是创建一个maven的工作空间

springmvc实现一个简单的Hello World

步骤二:你要选择maven然后按照下面图片 的指示操作就可以了---》最后点击next按钮

springmvc实现一个简单的Hello World

步骤三:填写公司名、项目名:

springmvc实现一个简单的Hello World

 

步骤四:这里如何设置自己的maven的本地仓库的位置

springmvc实现一个简单的Hello World

 

步骤五:点击Finish

springmvc实现一个简单的Hello World

 

步骤六:配置Tomcat

springmvc实现一个简单的Hello World

springmvc实现一个简单的Hello World

步骤七:配置Tomcat好了以后选择要发布的项目

springmvc实现一个简单的Hello World

 

步骤八:开始配置springmvc核心依赖 添加了这个依赖之后就会给spring相关的依赖都引入进来

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.3.12.RELEASE</version>
    </dependency>

如图:

springmvc实现一个简单的Hello World

 

步骤九:配置web.xml

<servlet-name>mvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 设置自己定义的控制器xml文件 -->
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>mvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>


  DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下:
  1、文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析;
  2、通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多            
     个HandlerInterceptor拦截器);
  3、通过HandlerAdapter支持多种类型的处理器(HandlerExecutionChain中的处理器);
  4、通过ViewResolver解析逻辑视图名到具体视图实现;
  5、本地化解析;
  6、渲染具体的视图等;
  7、如果执行过程中遇到异常将交给HandlerExceptionResolver来解析。

load-on-startup表示启动容器时初始化该Servlet;

url-pattern表示哪些请求交给Spring Web MVC处理, “/” 是用来定义默认servlet映射的。也可以如“*.html”表示拦截所有以html为扩展名的请求。

该DispatcherServlet默认使用WebApplicationContext作为上下文,Spring默认配置文件为“/WEB-INF/[servlet名字]-servlet.xml”。

DispatcherServlet也可以配置自己的初始化参数,覆盖默认配置:

参数

描述

contextClass

实现WebApplicationContext接口的类,当前的servlet用它来创建上下文。如果这个参数没有指定, 默认使用XmlWebApplicationContext。

contextConfigLocation

传给上下文实例(由contextClass指定)的字符串,用来指定上下文的位置。这个字符串可以被分成多个字符串(使用逗号作为分隔符) 来支持多个上下文(在多上下文的情况下,如果同一个bean被定义两次,后面一个优先)。

namespace

WebApplicationContext命名空间。默认值是[server-name]-servlet。

因此我们可以通过添加初始化参数

<servlet-name>mvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 设置自己定义的控制器xml文件 -->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:mvc-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

如果使用如上配置,Spring Web MVC框架将加载“classpath:mvc-servlet.xml.xml”来进行初始化上下文而不是“/WEB-INF/[servlet名字]-servlet.xml”。

mvc-servlet.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-4.2.xsd
	http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context-4.2.xsd
	http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
">
    <!-- 默认的注解映射的支持 -->
    <mvc:annotation-driven/>
    <!-- 自动扫描-->
    <context:component-scan base-package="cn"></context:component-scan>
</beans>

总体架构

springmvc实现一个简单的Hello World

 

这个时候运行Tomcat

springmvc实现一个简单的Hello World

 

这个时候一个简单的Hello World 就实现了。。。。

springmvc实现一个简单的Hello World