springboot访问jsp页面变成直接下载?

举报
穆雄雄 发表于 2022/12/10 20:17:44 2022/12/10
【摘要】 ​编辑大家好,我是雄雄,欢迎关注微信公众号【雄雄的小课堂】。 前言大家在写springboot的时候不知道你们遇没遇到过这样的问题,当我们满怀信心的在浏览器中输入:localhost://8080/default,然后回车的时候,期待的页面没有显示出来,而是浏览器将你期待的页面作为一个文件在本地下载下来了???打破砂锅问到底,今天,我们就来看看出现此问题之后怎么解决。 01发现Bug如前言所...

​编辑

大家好,我是雄雄,欢迎关注微信公众号【雄雄的小课堂】。

前言

大家在写springboot的时候不知道你们遇没遇到过这样的问题,当我们满怀信心的在浏览器中输入:localhost://8080/default,然后回车的时候,期待的页面没有显示出来,而是浏览器将你期待的页面作为一个文件在本地下载下来了???打破砂锅问到底,今天,我们就来看看出现此问题之后怎么解决。

01

发现Bug

如前言所述,我将springboot与sringmvc以及mybatis结合的时候,出现的问题,控制器编写正常,返回的是index.jsp,在application.properties中也对页面默认的前缀后缀配置,不可能出现问题,然而运行的时候并未正常显示页面,而是将页面以文件的形式下载下来。前几天在obs中也遇到过这个问题,就是当我们将网页文件上传到obs桶里面的时候,拿着外部链接访问,没有给我们解析成页面,而是将页面直接下载下来了,请求图片也是一样的道理,直接将图片给下载下来了。

如图所示:

​编辑

02

解决Bug

出现该问题的原因我们很容易就能联想到是jsp页面解析的问题,浏览器未编译和解析jsp,导致以文件的形式加载,所以当我们访问的时候,就会变成下载。

解决该问题我们只需要在pom文件中加以下代码即可:

<!--用于解析jsp页面-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jsp-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

该依赖就是编译解析jsp页面的。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。