博客详情

springboot(五)--log4j、jsp视图、静态资源的配置 (原创)

作者: 朝如青丝暮成雪
发布时间:2018-08-03 00:51:53  文章分类:springboot   阅读(881)  评论(0)

如题,本篇我们介绍下springboot项目中的另外一些常见的配置。如日志配置(log4j)、视图配置(jsp)以及静态资源配置等。


一、关于springboot中的日志支持

 SpringBoot默认是采用logback进行日志处理,Logback是由log4j创始人设计的又一个开源日志组件。然而,我们还是喜欢用log4j,因为我们大多数人的大多数项目都是使用log4j,而且配置起来也相当简单。那么如何在spring 项目中使用log4j来处理日志(而不是默认的logback)呢? 

 修改pom.xml ,排除spring-boot中 默认的logging支持,引入log4j的starter支持即可。

	   <!-- spring-boot  web支持  -->
	    <dependency>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-starter-web</artifactId>
	         <!-- 排除spring-boot中 默认的logging支持 -->
	        <exclusions>
			   <exclusion> 
			    <groupId>org.springframework.boot</groupId>
			     <artifactId>spring-boot-starter-logging</artifactId>
			   </exclusion>
			 </exclusions>
	    </dependency>
	      
    <!-- spring-boot log4j支持  -->
    <dependency>
	    <groupId>org.springframework.boot</groupId>
	    <artifactId>spring-boot-starter-log4j</artifactId>
	    <version>1.3.8.RELEASE</version>
	</dependency>	


根目录中log4j.properties 文件,如


log4j.rootLogger=info,stdout,D
#控制台日志 debug 级别
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.Threshold = debug
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n 


#文件日志  debug级别
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = e:/log/springWeb/springWeb.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = debug
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n 




二、关于springboot中视图的支持

springboot中支持众多的视图,如FreeMarker 、Groovy、Thymeleaf、Mastache 以及JSP。如果需要配置jsp视图的支持,需要在pom.xml中配置内嵌tomcat、jsp、jstl的支持。

pom.xml 


    <!-- tomcat支持 -->
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-tomcat</artifactId>
           <scope>provided</scope>
       </dependency>
       <dependency>
           <groupId>org.apache.tomcat.embed</groupId>
           <artifactId>tomcat-embed-jasper</artifactId>
           <scope>provided</scope>
       </dependency>
        <!-- jstl标签库 -->
        <dependency>
           <groupId>javax.servlet</groupId>
           <artifactId>jstl</artifactId>
       </dependency>


application.properties 配置jsp视图


#jsp 视图
spring.template.provider.cache=false 
spring.mvc.view.prefix=/WEB-INF/pages
#spring.view.suffix=.jsp



注:笔者喜欢让开发者保留JSP页面的.jsp的后缀,也建议众多开发者们保留.jsp的后缀,我的理由如下

1 一方面,这样可以让开发者清楚地知道这里是返回一个jsp页面,而不是freemarker 、velocity 、thymeleaf等模板页面 ,因为一个项目中很可能会同时存在多种视图技术,没有了.jsp后缀可能会让人产生迷惑,因为不清楚到底返回的是哪种视图页面。 

2 另一方面,返回了一个没有后缀的路径,也有可能代表服务器转发到另一个controller路径,这也非常容易给人造成疑惑。(笔者在项目中就曾遇到过这样的问题,一些初学者对于return一个路径到底是转发jsp,还是转发或重定向到controller路径经常感到迷惑甚至弄错,如此种种纠纷的诞生就是因为页面路径没有带.jsp的后缀 ,之后带上了.jsp 后,于是纷扰的世界终于清静了!!!)

无论怎样,只要看到项目代码中出现了return  xxx.jsp ,几乎100%能够肯定是返回到了一个jsp页面了, 这样也方面于在项目代码中ctrl+h 快速搜索 ,而如果你搜索的是xxx路径(不带.jsp后缀),你很可能会搜索到大量你不想看到的结果,浪费我们大量的工作时间。


三、关于springboot中静态资源的配置

默认配置application.properties 如下:


#静态资源访问路径 (默认规则)
spring.mvc.static-path-pattern: /**
spring.mvc.resources.static-locations:/,classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/


spring.mvc.static-path-pattern: /** 表示对于任意路径的静态资源的访问

spring.mvc.resources.static-locations 表示对于以上静态的访问,存放的静态资源页面的路径都是哪是在那些地方

默认情况下,对于所有的对静态资源的访问,首先到项目根目录(通常为webapp)中找对应的资源文件,如果未找到则到classpath下的META-INF目录中找,如果还是未找到则到classpath下的resources目录中找,以此类推。静态资源的搜索顺序是按照spring.mvc.resources.static-locations 配置项所配置的顺序来的,一旦搜索到了匹配的资源,则立即停止搜索并返回搜索到的资源。

当然,绝大多数况下,我们并不需要对静态资源什么配置,因为默认的配置以及足够好、足够人性化了。


注:application.properties中的其他配置项,如

server.port=7000   #配置内嵌servlet容器端口
server.servlet-path=/     #配置内嵌servlet容器根路径
server.context-path=/springWeb    #配置内嵌servlet容器中当前web应用的访问路径

......








关键字:  springboot  log4j  jsp  静态资源
评论信息
暂无评论
发表评论

亲,您还没有登陆,暂不能评论哦! 去 登陆 | 注册

博主信息
   
数据加载中,请稍候...
文章分类
   
数据加载中,请稍候...
阅读排行
 
数据加载中,请稍候...
评论排行
 
数据加载中,请稍候...

Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1

鄂公网安备 42011102000739号