美文网首页
第二章:Hello World

第二章:Hello World

作者: 紫萱草_ | 来源:发表于2017-09-16 20:43 被阅读0次

    因为有 Spring 的依赖注入,所以实现 SpringMVC 的 Demo 非常简单。

    一: 构建

    这里使用 Maven 构建,以下是 pom 文件:

    <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/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.free.springmvc</groupId>
      <artifactId>lesson1</artifactId>
      <packaging>war</packaging>
      <version>1.0-SNAPSHOT</version>
      <name>lesson1 Maven Webapp</name>
      <url>http://maven.apache.org</url>
      <properties>
        <!-- spring版本号 -->
        <spring.version>4.3.9.RELEASE</spring.version>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
          <version>${spring.version}</version>
        </dependency>
        <!-- spring 核心包 -->
        <!-- springframe start -->
        <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>
        <!-- springframe end -->
      </dependencies>
      <build>
        <finalName>lesson1</finalName>
      </build>
    </project>
    
    

    二: 配置 SpringMVC

    1. 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>
      <servlet>
        <servlet-name>springMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
      </servlet>
      <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    </web-app>
    
    

    以上是 web.xml 的最基本配置,只实现了 SpringMVC 的功能。
    里面名为springMVC 的 Servlet ,也就是 DispatcherServlet ,它是SpringMVC 的核心,接下来的 <servlet-mapping> 中的 <url-pattern>/</url-pattern> 表示所有的请求都交给 DispatcherServlet 来处理,中间的 <init-param> 标签,表示要装入的 Spring 配置文件。

    2. spring-mvc.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"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    
        <context:component-scan base-package="com.free.springmvc"/>
    
        <mvc:annotation-driven/>
    </beans>
    

    这个 xml 只有两个标签,第一个标签 <context:component-scan base-package="com.free.springmvc"/> 的意思是告诉 Spring 容器需要扫描哪个包下的 bean,以下是我的包结构:

    包结构

    因为这里只讲解 SpringMVC 的知识,所以只建了一个 Controller 包。

    第二个标签 <mvc:annotation-driven/> 是告诉 Spring ,需要开启注解,即 @Controller @RestController 等等。

    以上的配置,就完成了 SpringMVC 的最基本配置,接下来就可以编写控制器来测试一下 SpringMVC 的 HelloWorld 。

    三: 编写控制器

    我们在 controller 包下新建一个 Java 类文件。

    简单的控制器

    这里的 @RestController 以及 @RequestMapping 详细内容将在以后的章节讲述,这里简单说明。

    1. @RestController

    表示 HelloController 将被注入到 Spring 容器中,并且会将该类中的方法中的返回值以数据的形式(可以是:字符串、 JSON、 XML、 HTML等)返回给客户端。

    2. @RequestMapping

    SpringMVC 接受到请求之后,会对请求进行解析,然后决定交给哪一个控制器的哪一个方法来处理,@RequestMapping 所标注的方法,就是用来处理对应请求的。也就是,当客户端发送一个名为 hello 的请求,那么 SpringMVC 将会以字符串的形式返回 hello SpringMVC 这样的字符串数据给客户端。

    四: 最终效果

    最终效果

    源代码已经上传到码云
    https://git.oschina.net/aimufree/springmvc_lessons.git
    主页
    http://git.oschina.net/aimufree/springmvc_lessons

    相关文章

      网友评论

          本文标题:第二章:Hello World

          本文链接:https://www.haomeiwen.com/subject/spfysxtx.html