SSM之SpringMVC快速入手

本文详细介绍了SpringMVC的使用,从HelloWorld开始,涵盖配置web.xml、@RequestMapping注解的深入理解、请求参数获取、域对象共享、视图处理、RESTful实践、HttpMessageConverter及文件上传下载。还涉及拦截器和异常处理器的配置,以及注解配置SpringMVC的全貌。
摘要由CSDN通过智能技术生成

目录

第一节:HelloWorld

1.配置web.xml文件

@RequestMapping:请求映射注解,匹配请求

 第二节:@RequestMapping注解详细介绍

1.注解位置:类上和方法上

2.@RequestMapping的value属性

3.@RequestMapping的method属性

4.@RequestMapping的method属性

5.@RequestMapping的params属性

6.@RequestMapping的headers属性

7、SpringMVC支持ant风格的路径

8、SpringMVC支持路径中的占位符(重点)

第三节:SpringMVC获取请求参数 

 1、通过ServletAPI获取 (一般不用)

2、通过控制器方法的形参获取请求参数​ 

3、@RequestParam

4、@RequestHeader

5、@CookieValue

6、通过POJO获取请求参数

第四节:域对象共享数据

1、使用ServletAPI向request域对象共享数据

2、*********使用ModelAndView向request域对象共享数据 ​

3、使用Model向request域对象共享数据 ​ 

4、使用map向request域对象共享数据​ 

5、使用ModelMap向request域对象共享数据 ​

6、向session域共享数据 (建议使用原生servletAPI)​

 7、向application域共享数据

第五节:SpringMVC的视图

第六节:RESTful

第七节:HttpMesssageConverter

1、@RequestBody(仅请求体)​

2、RequestEntity (有head和body)

4、SpringMVC处理json(利用@ResponseBody注解)

5、SpringMVC处理ajax 

6、@RestController注解 

7、ResponseEntity

第八节:文件的上传和下载

1、文件下载

2、文件上传 

 第九节:拦截器HandlerInterceptor

1、拦截器的配置

第十节:异常处理器 

第十一节:注解配置springMVC

第一节:HelloWorld

1.配置web.xml文件

第一步:先创建webapp文件夹,将其标记为web框架下的形式
第二步:在webapp下创建web.xml配置文件
(1)默认配置方式(注册前端控制器servlet): "/"表示能处理所有请求,除了.jsp请求路径 

 

(2)扩展配置方式:可通过init-param标签设置SpringMVC配置文件的位置和名称,通过load-on-startup标签设置 SpringMVC前端控制器DispatcherServlet的初始化时间  

 

@RequestMapping:请求映射注解,匹配请求

第一步:在pom.xml中加入一些依赖:servletAPI、springmvc、日志以及thymeleaf

<!-- SpringMVC -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.1</version>
</dependency>
<!-- 日志 -->
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
</dependency>
<!-- ServletAPI -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>
<!-- Spring5和Thymeleaf整合包 -->
<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf-spring5</artifactId>
    <version>3.0.13.RELEASE</version>
</dependency>

第二步:在springMVC.xml文件中:名称空间context开启组件扫描、配置thymeleaf视图解析器

<context:component-scan base-package="com.tzm.mvc.controller"></context:component-scan>
<!-- 自动扫描包 -->

<!-- 配置Thymeleaf视图解析器 -->
<bean id="viewResolver"
      class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
<property name="order" value="1"/>
<property name="characterEncoding" value="UTF-8"/>
<property name="templateEngine">
<bean class="org.thymeleaf.spring5.SpringTemplateEngine">
    <property name="templateResolver">
        <bean
                class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
            <!-- 视图前缀 -->
            <property name="prefix" value="/WEB-INF/templates/"/>
            <!-- 视图后缀 -->
            <property name="suffix" value=".html"/>
            <property name="templateMode" value="HTML5"/>
            <property name="characterEncoding" value="UTF-8" />
        </bean>
    </property>
</bean>
</property>
</bean>

第三步:编写html页面:需加上th名称空间

第四步:编写控制器类,加入映射请求的方法:@Controller和@RequestMapping

@Controller
public class HelloController {

    @RequestMapping("/")
    public String index(){
        //返回视图名称
        return "index1";
    }

    @RequestMapping("/target")
    public String toTarget(){
        return "target";
    }
}

 springMVC注意事项:在Artifacts中新建WEB-INF下的lib文件夹将依赖导入

 第二节:@RequestMapping注解详细介绍

1.注解位置:类上和方法上

@RequestMapping标识一个类:设置映射请求的请求路径的初始信息 
@RequestMapping标识一个方法:设置映射请求请求路径的具体信息

先初始信息再具体信息,所以添加连接时要加上类上的映射

@Controller
@RequestMapping("/hello")
public class RequestMappingController {

    @RequestMapping("/testRequestMapping")
    public String success(){
        return "success";
    }
}
<a th:href="@{/hello/testRequestMapping}">访问目标页面success.html</a>

2.@RequestMapping的value属性

value属性必须要设置,默认是一个字符串数组
(1)能匹配多个请求地址 

3.@RequestMapping的method属性

get是接收;post是发送
@RequestMapping注解的method属性通过请求的请求方式(get或post)匹配请求映射 
@RequestMapping注解的method属性是一个RequestMethod类型的数组,表示该请求映射能够匹配 多种请求方式的请求 
若当前请求的请求地址满足请求映射的value属性,但是请求方式不满足method属性,则浏览器报错 405:Request method 'POST' not supported  

4.@RequestMapping的method属性

1)对于处理指定请求方式的控制器方法,SpringMVC中提供了@RequestMapping的派生注解 
处理get请求的映射-->@GetMapping 
处理post请求的映射-->@PostMapping 
处理put请求的映射-->@PutMapping 
处理delete请求的映射-->@DeleteMapping 
(2)常用的请求方式有get,post,put,delete
但是目前浏览器只支持get和post,若在form表单提交时,为method设置了其他请求方式的字符 串(put或delete),则按照默认的请求方式get处理 若要发送put和delete请求,则需要通过spring提供的过滤器HiddenHttpMethodFilter,在 RESTful部分会讲到 
 

5.@RequestMapping的params属性

params设置的条件必须同时满足!
@RequestMapping注解的params属性通过请求的请求参数匹配请求映射 
@RequestMapping注解的params属性是一个字符串类型的数组,可以通过四种表达式设置请求参数 和请求映射的匹配关系 
"param":要求请求映射所匹配的请求必须携带param请求参数 
"!param":要求请求映射所匹配的请求必须不能携带param请求参数
 "param=value":要求请求映射所匹配的请求必须携带param请求参数且param=value 
"param!=value":要求请求映射所匹配的请求必须携带param请求参数但是param!=value 

6.@RequestMapping的headers属性

@RequestMapping注解的headers属性通过请求的请求头信息匹配请求映射 
@RequestMapping注解的headers属性是一个字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乱码制造者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值