SpringBoot中使用jsp作为视图层

spring的官方默认推荐大家使用thymeleaf作为视图层的首选方案,但是作为老牌的javaweb视图技术,jsp也还算有这他的一些优势。虽然性能上有上影响,但是不开发大型网络应用,劣势也就不那么明显了。开始我自己也不知道怎么弄。百度了一通,各种尝试,就是没有找到适合我当前使用版本的解决方案,没办法,找不到现成的就自己琢磨咯。经过几番尝试,功夫没白费最终也是搞出来了。下面我就给各位来介绍一下,要使用jsp作为视图层,我们要做哪些事情和一些注意事项。

 

一、依赖

要使用jsp我们首先得在依赖中多增加两个内容:

<!-- jsp支持 -->
<dependency>
	<groupId>org.apache.tomcat.embed</groupId>
	<artifactId>tomcat-embed-jasper</artifactId>
	<scope>provided</scope>
</dependency>
<dependency>
	<groupId>jstl</groupId>
	<artifactId>jstl</artifactId>
	<version>1.2</version>
</dependency>

一个是tomcat的jsp解析,一个是jstl的支持

 

注意:这里的jasper是必须的。jstl如果是简单测试不要也是可以的。

 

二、ViewResolvers视图配置

由于默认不支持jsp,所以要自己配置resolvers。

@Configuration
@EnableWebMvc
public class AppMvcConfigurer extends WebMvcConfigurerAdapter {
	/**
	 * 视图解决方案配置
	 */
	@Override
	public void configureViewResolvers(ViewResolverRegistry registry) {
		//配置jsp路径
		registry.jsp("/WEB-INF/jsp/", ".jsp");
		super.configureViewResolvers(registry);
	}
	
	@Override
	public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
		configurer.enable();
		super.configureDefaultServletHandling(configurer);
	}
}

 

注意:此处configureDefaultServletHandling必须得配置,不然所以的静态资源访问都会404.

 

最后注意:使用了jsp作为视图层后,原来的resources目录下面的static和templates目录就没有用了。

jsp页面就得挪动到webapp/WEB-INF/jsp目录下面。当boot项目,默认是没有WEB-INF目录的,这个没关系,我们自己创建出来就ok。

所以的静态文件,我们就直接放到webapp目录就ok。也就是原来需要放到statics目录的内容,都挪到webapp目录下就ok了。

 

转载于:https://my.oschina.net/btboys/blog/1576494

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值