zoukankan      html  css  js  c++  java
  • Spring mvc Hello World

    Spring mvc Hello World

    添加依赖

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

    配置DispatcherServlet

        <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:applicationContext.xml</param-value>
            </init-param>
        </servlet>
        
        <servlet-mapping>
            <servlet-name>springMvc</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>

    如果不配置init-param,那么配置文件的名字是什么,位置放在哪里?

    位置放在WEB-INF下面,文件的名字为你servlet的名字-servlet.xml

    编写控制器类

    
    
    @Controller
    public class HelloWorldController {
    }

    上面的配置,只是表明了此类是一个控制器类,还需要让框架可以扫描到这些有@Controller修饰的类型,需要在mvc的配置文件中,配置下面的内容

       <context:component-scan base-package="controller"/>
        <!-- 会提供一些额外的增强功能,见参考资料-->
        <mvc:annotation-driven />

    mvc:annotation-driven

    配置注解驱动,会多了如下一些功能

    • 类型转换

    • json数据

    • 格式化数据

    • 等等

    这个配置,随着mvc版本越来越新,其功能是越来越少。

    url到控制器方法的映射(也就是处理请求)

    @Controller
    public class HelloWorldController {
       @RequestMapping("/hello")
        public  String hello(){
            System.out.println("hello in hello World ---");
    ​
            return "/WEB-INF/views/index.jsp";
        }
    }
     

    上面配置好后,当请求地址为/hello的时候就会访问到hello方法,注意:RequestMapping中配置的url名字不需要与方法名字是一样的

    然后此方法中返回的是视图的物理视图名 ,如果只返回逻辑视图名,需要在mvc配置文件中配置下面的代码

    @RequestMapping

    有以下几个特点

    • 可以放在类上

    • 可以放在方法上

    • RequestMapping可以不指定url,那么这个就是默认的

    • 可以给它添加各种限制

      • 通过HTTP请求方法限制

      • 请求Header中的内容进行限制等

    组合注解

    提示:@GetMapping

    组合注解,至少要知道4个,这4个是针对http协议的方法来对应起来的

    • get: @GetMapping :用来做查询操作

    • post:@PostMapping :用来做 增加操作

    • delete:@DeleteMapping :用来做删除操作

    • put: @PutMapping :用来做修改操作

    /calc/add/1 (get)

    /calc/add(post)

    /calc/add/1(delete)

    /calc/add (put)

    作业四:进行求和运算

    要求如下:

    1. get访问/home/add会打开一个页面,此页面里面有2个文本框一个提交按钮

    2. 点击提交按钮后,提交的地址仍然是/home/add,并且是post提交

    3. 相关的控制器方法收到提交的数据后,进行运算(交个模型类去运算),把结果传递给视图

    4. 在视图中显示结果即可

    参考资料

    mvc:annotation-driven

    MVC官方文档

     
  • 相关阅读:
    [主席树][学习笔记]
    [bzoj2588][ Count on a tree]
    [bzoj3524][Couriers]
    [luogu3834][可持久化线段树 1(主席树)]
    [luogu3810][bzoj3262][陌上花开]
    [树套树][学习笔记]
    [luogu4556][Vani有约会]
    [线段树合并][学习笔记]
    [hdu6183][Color it]
    [动态开点线段树][学习笔记]
  • 原文地址:https://www.cnblogs.com/sunduge/p/8384892.html
Copyright © 2011-2022 走看看