• Spring MVC HelloWorld入门及运行机制 (一)


    完整的项目案例: springmvc.zip

    介绍

    SpringMVC是一款Web MVC框架。 它跟Struts框架类似,是目前主流的Web MVC框架之一。

    文章通过实例来介绍SpringMVC的入门知识。

    目录

    实例

    maven依赖springmvc jar:

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

    项目结构路径:

    一、配置web.XMl:

    <?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">
        
        <!-- 配置请求总控器,由Spring-webmvc提供,它负责接收所有客户端的请求
             ,然后通过解析url并交给后端控制器(Controller)进行请求处理-->
        <servlet>
            <servlet-name>dispatcher</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <!-- springmvc默认会从WEB-INF下查找名为
            [servlet-name]-servlet.xml的配置文件,
            也可以通过init-param重新指定配置文件的路径-->
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <!-- 指定从classpath中查找 -->
                <param-value>classpath:dispatcher-servlet.xml</param-value>
            </init-param>
            <load-on-startup>0</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>dispatcher</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    
    </web-app>

    二、配置dispatcher-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: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="edu.nf.ch01.controller"/>
        <!-- 启用mvc注解驱动-->
        <!-- 这个注解驱动注册了RequestMappingHandlerMapping(请求映射处理器)
        和一个RequestMappingHandlerAdapter(请求映射适配器),同时启用了
        @RequestBody,@ResponseBody注解以及表单验证的等功能-->
        <mvc:annotation-driven/>
    
        <!-- 配置视图解析器,spring有很多种视图解析器,不同的解析器用于解析成不同的视图对象
             其中有一个叫做InternalResourceViewResolver(内部资源解析器)
             ,用于解析内部的jsp资源-->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <!-- 给这个视图解析器注入两个属性 -->
            <!-- 指定资源目录的前缀 -->
            <property name="prefix" value="/WEB-INF/jsp/"/>
            <!-- 指定资源的后缀-->
            <property name="suffix" value=".jsp"/>
            <!-- 这个解析器默认解析的视图对象为InternalResourceView,
             如果需要在JSP中使用jstl标签库,那么可以设置为JstlView,
             它是InternalResourceView的子类-->
            <!--<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>-->
        </bean>
    </beans>

    三、控制器Controller类:

    package edu.nf.ch01.controller;
    
    import org.springframework.context.annotation.Scope;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.servlet.ModelAndView;
    
    /**
     * @author wangl
     * @date 2018/10/26
     * 后端控制器
     */
    @Controller
    @Scope("prototype")
    public class HelloController {
    
        /**
         * 通过@RequestMapping来映射请求的url
         * @return
         */
        @RequestMapping("/hello")
        public ModelAndView hello(){
            System.out.println("hello spring");
            ModelAndView mv = new ModelAndView("index");
            return mv;
        }
    }

    四、请求转发的页面

    <%--
      Created by IntelliJ IDEA.
      User: wangl
      Date: 2018/10/26
      Time: 10:50
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
      <h1>Welcome!</h1>
    </body>
    </html>

  • 相关阅读:
    gcc -l:手动添加链接库
    gcc -S xx
    gcc -E xx.c
    gcc xx -o xx
    gcc -c xx.c 选项讲解
    GCC选项
    关于Apache日志的统计
    Vxlan——原理
    MySQL常见面试题
    php笔试题(3)--转载
  • 原文地址:https://www.cnblogs.com/hhmm99/p/9921361.html
Copyright © 2020-2023  润新知