开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情
编辑
大家好,我是雄雄,欢迎关注微信公众号【雄雄的小课堂】。
前言
大家在写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页面的。