4.springMVC视图和RESTful

SpringMVC视图

springMVC的作用是接受数据并将处理之后的数据经过视图解析,请求转发,请求重定向的方法发送给客户端。

若一个方法中返回的字符串没有任何的前缀,则直接将请求交给视图解析器进行解析,并跳转到解析之后的页面

@请求转发

若方法中返回的字符串存在forward为前缀,则创建建InternalResourceView视图,并且此时的视图不会被视图解析器所解析,而是会被去掉forward前缀之后,将剩下的内容以请求转发的方式进行跳转

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JgDq47EV-1633707168245)(D:\学习资料\学习笔记\images\image-20211006144800160.png)]

@请求重定向

若方法中返回的字符串存在redirect为前缀,则创建建建RedirectView视图,并且此时的视图不会被视图解析器所解析,而是会被去掉redirect前缀之后,将剩下的内容以请求重定向的方式进行跳转

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SqN2BRRO-1633707168249)(D:\学习资料\学习笔记\images\image-20211006144813580.png)]

RESTful分格

此方法提倡以不同的请求方式表示具体要实现的操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-syaTxTPu-1633707168252)(D:\学习资料\学习笔记\images\image-20211006144937713.png)]

HiddenHttpMethodsFilter

要实现发送不同的请求参数就要在xml文件中去设置HiddenHttpMethodsFilter过滤器,此过滤器要求

1.请求方式必须是post

2.请求必须包含以_method为名的参数,参数的值表示需要跳转的请求方式。

提交表单:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tcsehuf1-1633707168255)(D:\学习资料\学习笔记\images\image-20211006145326681.png)]

过滤器设置:

<?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">

    <!--  注意实现:编码过滤器一定要放在Servlet获取请求参数之前,否则编码设置会失效-->
    <!--    通过springMVC过滤器设置编码方式-->
    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceResponseEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!--  配置HiddenHttpMethodsFiles设置请求的提交方式-->
    <filter>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!--
        注册springMVC的前端控制器,对浏览器所发送的请求统一进行处理
        在此配置下,springMVC的配置文件具有默认的位置和名称
        默认的位置:WEB-INF
        默认的名称:<servlet-name>-servlet.xml
        若要为springMVC的配置文件设置自定义的位置和名称
        需要在servlet标签中添加init-param
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springMVC.xml</param-value>
        </init-param>
        load-on-startup:将前端控制器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:springMVC.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

vlet-name>

    <url-pattern>/</url-pattern>
</servlet-mapping>
```
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值