java工程跳转jsp_Spring Boot项目中如何跳转到Jsp页面-Fun言

首先,官方不推荐jsp的支持(jar包不支持jsp,jsp需要运行在servletContext中,war包需要运行在server服务器中如tomcat)官方推荐使用thymeleaf,freemarker等模版引擎,具体原因如下:

运行使用嵌入式servlet容器的Spring Boot应用程序(并打包为可执行存档)时,JSP支持存在一些限制。

1、使用Jetty和Tomcat,如果使用war包装,它应该可以工作。可执行的战争在启动时将起作用java -jar,并且也可以部署到任何标准容器。使用可执行jar时不支持JSP。

2、Undertow不支持JSP。

3、创建自定义error.jsp页面不会覆盖错误处理的默认视图 。 应该使用自定义错误页面。

但是真的有需求需要跳转到jsp页面的话,我们应该怎么做呢,下面给大家说一下。

一、在pom.xm中加入支持JSP的依赖

org.apache.tomcat.embed

tomcat-embed-jasper

provided

javax.servlet

jstl

二、在src/main/resources/application.properties文件中配置JSP和传统Spring MVC中和view的关联

spring.view.prefix=/WEB-INF/views/

spring.view.suffix=.jsp

三、创建webapp目录,放在main目录下,与java、resources同级,jsp和其他静态文件都放在这

这样就可以了,就像传统的springmvc的方式访问即可,以上代码pom.xml中的javax.servlet.jsp.jstl是用于支持JSP标签库的,在Web2.5的容器中没有问题,单当你的容器是Web3.0或以上版本时,就会出问题。 这是个非常坑爹的问题。

javax.servlet.jsp.jstl会自动加载依赖servlet-api-2.5.jar, 而且会在实际运行时把支持Web3.0的3.1版本的javax.servlet-api覆盖掉。即使你在pom.xml显示的在加入3.1版本的javax.servlet-api也没用。导致SpringBoot应用抛出Runtime exception运行错误。

这是一个不可调和的矛盾,要吗不用javax.servlet.jsp.jstl,要吗不用Web3.0。

但绝大多数情况下,jstl标签库不是必须的,而Web3.0是必须的,所以我还是建议大家不要在使用jsp了,效率较低,可以选择framaker或者beetl,我个人更建议用beetl,页面处理速度更快,也很好上手。

你还没有登录,请先使用 QQ登录 或 注册!

文章评论

发表评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值