首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

两个不同的视图取决于使用Spring MVC 3的URL文件扩展名

在Spring MVC 3中,URL文件扩展名是可以自定义的,这样可以让URL看起来更加友好和易于理解。在Spring MVC中,可以使用视图解析器来实现这个功能。

视图解析器是一个用于将视图名称解析为实际视图的组件。在Spring MVC中,视图名称是由控制器返回的字符串,它通常与视图模板的文件名相对应。视图解析器的作用是将视图名称转换为实际的视图对象,这个对象可以是一个JSP页面、Thymeleaf模板、FreeMarker模板等等。

在Spring MVC中,可以使用InternalResourceViewResolver来实现视图解析器。InternalResourceViewResolver是一个实现了ViewResolver接口的视图解析器,它可以将视图名称解析为JSP页面。

例如,可以在Spring MVC的配置文件中配置InternalResourceViewResolver,如下所示:

代码语言:java
复制
@Configuration
@EnableWebMvc
public class AppConfig implements WebMvcConfigurer {

    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return resolver;
    }

    // ...
}

在上面的配置中,我们将视图的前缀设置为/WEB-INF/views/,后缀设置为.jsp。这样,当控制器返回一个视图名称时,视图解析器会将其解析为一个JSP页面,例如,如果控制器返回一个名为"home"的视图名称,则视图解析器会将其解析为/WEB-INF/views/home.jsp。

在Spring MVC中,还可以使用其他视图解析器来实现不同的视图技术,例如Thymeleaf、FreeMarker等等。

总之,在Spring MVC中,可以使用视图解析器来实现URL文件扩展名的自定义,从而让URL看起来更加友好和易于理解。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring MVC视图居然还能把文件展现给前端

前言 最近要开发一个把服务端文件展示给前台接口,有各种不同类型文件,在通常情况下我们会想到使用 IO 把文件流写到响应输出流中,但是不够优雅。...今天分享一个借助于 Spring MVC 视图功能来实现各种文件读取并返给前端下载或者展示。 2. View View是 Spring MVC 视图抽象,它有不少有用实现类: ?...另外几个是 PDF 视图、JSON 视图和 FreeMarker 视图,还有其它一些实现但是并不常用,因此就不一一列举了。 3....实现 如果 Excel 和 PDF 都能够以视图方式响应给前端,那么其它文件也应该是可以。根据上面的类图很容易想出来继承AbstractView实现其预留抽象方法就可以了。...总结 在 JSON 大行其道今天,在 Spring MVC 开发接口时候已经很少用到了模型和视图,今天通过上面的示例来看视图依然有很大用途。其它玩法可以参考这个思路,留给你自己探索。

59310

Spring Web MVC框架(九) XML和JSON视图与内容协商

Spring MVC不仅支持各种网页视图,也支持JSON、XML这样视图。而且还支持内容协商,也就是根据传入扩展名、请求参数、Accept Header等信息决定具体采用哪种视图。...SpringXML视图支持 JAXB Spring提供了OXM,可以将Java对象映射为XML文件。这里我们先说一说XML序列化库JAXB。自JDK6开始,自带了JAXB实现。... 内容协作 所谓内容写作,指的是Spring可以根据请求扩展名、查询参数或者Accept头等信息,决定使用哪种视图展示数据。...Spring会先查找文件扩展名,根据扩展名来返回相应视图;如果扩展名不存在,就会根据Accept头来判断。...如果我们使用其他转换器,或者希望自己指定内容协定策略,就需要自定义内容协定了。内容协定需要两个类来支持:内容协定视图解析器用来指定要使用视图;内容协定管理器用于配置内容协定策略。

89810

day64_SpringMVC学习笔记_02

3)配置javabean,即在绑定类User中加入对xml格式视图转换注解:@XmlRootElement image.png (4)在web.xml中配置约定访问url     <servlet-mapping...根据我们web.xml文件访问约定:扩展名.do是访问jsp页面的。   我们约定rest目录下所有以json和xml扩展名都支持相应视图。...在不同浏览器之间访问同一地址,缓存时间不会发生变化。 (5)改变缓存存储范围   改变缓存存储范围为session域中。在不同浏览器之间访问同一地址,缓存时间会发生变化。...4、使用springmvc其他视图 4.1、整合freemarker视图 需求:使用springmvc本身视图解析器来解析页面静态化。...中配置对freemarker视图支持   配置对freemarker视图支持后,我们发现我们可以不使用jsp来开发了,我们可以直接使用freemarker视图来开发。

79310

spring内容协商

可用选项包括检查文件扩展名URL路径、检查“accept”头、特定查询参数,或者在不请求任何内容时返回默认内容类型。默认情况下,首先检查请求URI中路径扩展,然后检查“accept”头。...2 期望 对于相同逻辑,而只是返回结果或者视图不同使用同一段逻辑根据客户端请求后缀、参数或者请求头不同返回个性化响应。...3 引入内容协商器CNVR ContentNegotiatingViewResolver简称CNVR。基于请求文件名或接受头解析视图ViewResolver实现。...此外,此视图解析器公开了DefaultView属性,允许你重写视图解析器提供视图。注意,这些默认视图是作为候选视图提供,并且仍然需要请求内容类型(通过文件扩展名、参数或接受头,如上所述)。...4 三种内容协商策略及实现 spring支持三种内容协商策略: URL使用后缀,例如 .xml/.json URL使用查询参数,例如 ?

1.2K10

【云+社区年度征文】Spring内容协商

概述 官方解释: 可以配置SpringMVC如何根据请求确定请求媒体类型。可用选项包括检查文件扩展名URL路径、检查“accept”头、特定查询参数,或者在不请求任何内容时返回默认内容类型。...2.期望 对于相同逻辑,而只是返回结果或者视图不同使用同一段逻辑根据客户端请求后缀、参数或者请求头不同返回个性化响应。...3.引入内容协商器CNVR ContentNegotiatingViewResolver简称CNVR。基于请求文件名或接受头解析视图ViewResolver实现。...此外,此视图解析器公开了DefaultView属性,允许你重写视图解析器提供视图。注意,这些默认视图是作为候选视图提供,并且仍然需要请求内容类型(通过文件扩展名、参数或接受头,如上所述)。...,在spring内部核心流程时序图如下: 4 4.三种内容协商策略及实现 spring支持三种内容协商策略: URL使用后缀,例如 .xml/.json URL使用查询参数,例如 ?

78600

springmvc学习第二天

* mvc设计模式 * springmvc框架原理 3.springmvc第一个程序案例 * 不是视图解析器 * 使用视图解析器 4.根据程序分析springmvc执行流程(画图) 5.处理器映射器 *...配置tomcat编码 * 使用post请求乱码 在web.xml里面配置编码过滤器 * @ModelAttribute 在方法定义上使用 @ModelAttribute 注解:Spring MVC 在调用目标处理方法前...xml视图扩展名必须是xml http://localhost:8080/springmvc0926_day02_01/rest/user/multiView.xml 约定:在rest目录下所有请求支持多视图...访问效果 S sm整合 创建一个web工程,并导入jar文件 分析:导入jar:spring(包含springmvc),mybatis,mybatis-spring,jstl,c3p0,mysql驱动。...-- ssm整合使用接口代理开发模式: spring扫描接口包 接口开发规范: * 接口方法名必须和映射文件StatementId一致 * namespace名称必须是接口全类路径名 * 接口和映射文件必须同名

1.1K80

ContentNegotiation内容协商机制(二)---Spring MVC内容协商实现原理及自定义配置【享学Spring MVC

前言 上文 介绍了Http内容协商一些概念,以及Spring MVC内置4种协商方式使用介绍。...从 上文 我们知道Spring MVC它支持了4种不同协商机制,它都和此策略接口相关。 它继承树: ?...Spring MVC默认加载两个该策略接口实现类: ServletPathExtensionContentNegotiationStrategy–>根据文件扩展名(支持RESTful)。...resource) { ... } } 根据请求URL路径中所请求文件资源扩展名部分判断请求MediaType(借助UrlPathHelper和UriUtils解析URL)。...MVC对内容协商策略管理、使用以及开放配置,旨在做到心中有数,从而更好、更安全、更方便进行扩展,对下文内容协商视图理解有非常大帮助作用,有兴趣可持续关注~

1.9K30

Spring原理进阶】SpringMVC调用链+JSP模板应用讲解

为什么调用链对于理解Spring MVC至关重要 调用链对于理解业务流程和请求处理关系非常重要。在一个典型业务场景中,可以将调用链视为请求在不同组件之间传递过程,每个组件负责执行特定任务。...DispatcherServlet是Spring MVC框架核心,它负责协调整个请求处理过程。 DispatcherServlet根据配置信息和URL映射,将请求分发给适当处理器。...DispatcherServlet:Spring MVC核心 DispatcherServlet是Spring MVC框架核心组件,它负责协调整个请求处理过程。...MVC配置文件中配置视图解析器,将JSP作为视图技术。...-- 模板文件文件扩展名 --> 上述配置将会将JSP视图解析为/WEB-INF/views/目录下JSP文件

15310

ContentNegotiation内容协商机制(三)---在视图View上应用:ContentNegotiatingViewResolver深度解析【享学Spring MVC

前言 在经过 前两篇 文章了解了Spring MVC内容协商机制之后,相信你已经能够熟练运用Spring MVC提供这项能力,配合RESTful发挥它功效了。...本文此处需要讲解是内容协商在视图解析方面的应用:同一个URL,以不同视图作为展示方式。...*后再匹配 url,它会处理多个不同形式是 url,但是返回是同一个View。...视图解析器ViewResolver 关于视图内容,可参见这里:View 关于视图解析器内容,可参见这里:ViewResolver 本文简单再“复习”一下Spring MVC视图解析器使用流程...我们已经知道,默认情况下Spring MVC可没有使用此内容协商视图解析器,因此若有同一资源,多视图展示需求,我们是需要手动配置(开启)支持

1K10

一个SpringMVC入门实例

一些开发人员认为业务层和DAO层类是MVC模型组件一部分。我对此持有不同意见。我不认为业务层及DAO层类为MVC框架一部分。通常一个web应用是3层架构,即数据-业务-表示。...Dispatcher Servlet(Spring控制器) 在最简单Spring MVC应用程序中,控制器是唯一你需要在Java web部署描述文件(即web.xml文件)中配置Servlet。...然后它组织那些在Spring web应用程序上下文配置(例如实际请求处理控制器和视图解析器)或者使用注解配置组件,所有的这些都需要处理该请求。...为了提供一个灵活方法,一个handler方法返回值并不代表一个视图实现而是一个逻辑视图,即没有任何文件扩展名。...一旦控制器类已将一个视图名称解析到一个视图实现。它会根据视图实现设计来渲染对应对象。 2 导入jar包 至少应该有这些. 3 配置文件 3.1 web.xml <?

34400

SpringMvc学习-环境搭建

1.SpringMVC简介 spring Web MVC是一种基于Java实现了Web MVC设计模式请求驱动类型轻量级Web框架,即使用MVC架构模式思想,将web层进行职责解耦,基于请求驱动指就是使用请求...2.SpringMVC框架 在最简单Spring MVC应用程序中,控制器是唯一你需要在Java web部署描述文件(即web.xml文件)中配置Servlet。...然后它组织那些在Spring web应用程序上下文配置(例如实际请求处理控制器和视图解析器)或者使用注解配置组件,所有的这些都需要处理该请求。 ?...为了提供一个灵活方法,一个handler方法返回值并不代表一个视图实现而是一个逻辑视图,即没有任何文件扩展名。...你可以将这些逻辑视图映射到正确实现,并将这些实现写入到上下文文件,这样你就可以轻松更改视图层代码甚至不用修改请求handler类代码。 为一个逻辑名称匹配正确文件视图解析器责任。

79070

SpringMVC笔记

(2)多个拦截器执行 (3)拦截器和过滤器区别 4.4、SpringMVC中文件上传与下载 一、SpringMVC概述 1.1、MVC模式 MVC概念: ​ MVC是Model、View、Controller...-- 使用框架时候,url-pattern可以使用两种值 1、使用扩展名方式,语法 *.xxx, xxx是自定义扩展名。...校正请求参数,是指若请求URL所携带参数名称与处理方法中指定参数名不同时,则需要在处理方法参数前,添加一个注解 @RequestParam(“请求参数名”),指定请求URL所携带参数名称。...此时处理器方法返回字符串就是要跳转页面的文件名去掉文件扩展名部分,这个字符串与视图解析器中prefix、suffix相结合,即可形成要访问URI。 <!...forward:,且此时视图不再与视图解析器一同工作,这样可以在配置了解析器时指定不同位置视图

2.2K20
领券