1.创建springboot项目(war)
2.添加tomcat和jstl依赖(pom.xml)
org.apache.tomcat.embed
tomcat-embed-jasper
provided
javax.servlet
jstl
3.配置springmvc前缀和后缀(application.properties)
# 前缀
spring.mvc.view.prefix=/WEB-INF/jsp/
# 后缀
spring.mvc.view.suffix=.jsp
4.日志配置(logback.xml)
%d %p (%file:%line\) - %m%n
UTF-8
class="ch.qos.logback.core.rolling.RollingFileAppender">
log/base.log
log/base.log.%d.%i
64 MB
%d %p (%file:%line\)- %m%n
UTF-8
5.中文乱码过滤器MyFilter.java
方法一
package cn.wuyang.springboot.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
/**
* 使用注解标注过滤器
*@WebFilter将一个实现了javax.servlet.Filter接口的类定义为过滤器
* 属性filterName声明过滤器的名称,可选
* 属性urlPatterns指定要过滤 的URL模式,也可使用属性value来声明.(指定要过滤的URL模式是必选属性)
*
*/
@WebFilter(filterName="myFilter",urlPatterns="/*")
public class MyFilter implements Filter {
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}
方法二
application.properties添加
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
6.配置默认启动页 (MyWebAppConfigurer .java)
package cn.wuyang.springboot.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/**
* 1.拦截器:继承WebMvcConfigurerAdapter,并重写 addInterceptors 方法。
* 2.自定义资源映射:继承 WebMvcConfigurerAdapter 并重写方法 addResourceHandlers方法
* 3.默认启动方法重写addViewControllers
*@author wuyang
*
*/
@Configuration
public class MyWebAppConfigurer extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("admin/index");
super.addViewControllers(registry);
}
}
7.配置热启动pom.xml
首先集成jar包
org.springframework.boot
spring-boot-devtools
true
其次在
org.springframework.boot
spring-boot-maven-plugin
org.springframework
springloaded
1.2.5.RELEASE
8.spring boot banner设置(可选)
_______ _ _______
|\ /||\ /||\ /|( ___ )( ( /|( ____ \ | ) ( || ) ( |( \ / )| ( ) || \ ( || ( \/
| | _ | || | | | \(_) / | (___) || \| || |
| |( )| || | | | \ / | ___ || (\\) || | ____
| || || || | | | ) ( | ( ) || | \ || | \_ )
| () () || (___) | | | | ) ( || ) \ || (___) |
(_______)(_______) \_/ |/ \||/ )_)(_______)
${AnsiColor.BRIGHT_RED}:设置控制台中输出内容的颜色
${application.version}:用来获取MANIFEST.MF文件中的版本号
${application.formatted-version}:格式化后的${application.version}版本信息
${spring-boot.version}:Spring Boot的版本号
${spring-boot.formatted-version}:格式化后的${spring-boot.version}版本信息
9.引入版本号统一
首先在pom.xml 中添加依赖:
org.webjars
webjars-locator
然后增加一个WebJarsController:
package cn.wuyang.springboot.controller.base;
import javax.servlet.http.HttpServletRequest;
import org.springframework.core.io.ClassPathResource;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.HandlerMapping;
import org.webjars.WebJarAssetLocator;
/**
* 处理WebJars,自动读取版本号
*
*/
@Controller
public class WebJarsController {
private final WebJarAssetLocator assetLocator = new WebJarAssetLocator();
@ResponseBody
@RequestMapping("/webjarslocator/{webjar}/**")
public ResponseEntity locateWebjarAsset(@PathVariable String webjar, HttpServletRequest request) {
try {
String mvcPrefix = "/webjarslocator/" + webjar + "/"; // This prefix must match the mapping path!
String mvcPath = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
String fullPath = assetLocator.getFullPath(webjar, mvcPath.substring(mvcPrefix.length()));
return new ResponseEntity<>(new ClassPathResource(fullPath), HttpStatus.OK);
} catch (Exception e) {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
}
}
10.资源名称md5方式
添加 application.properties 配置文件(或.yml)
spring.resources.chain.strategy.content.enabled=true
spring.resources.chain.strategy.content.paths=/**
所有 /** 请求的静态资源都会被处理。
创建 ResourceUrlProviderController 文件
package cn.wuyang.springboot.controller.base;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.servlet.resource.ResourceUrlProvider;
/**
* 处理静态资源URL
*
*/
@ControllerAdvice
public class ResourceUrlProviderController {
@Autowired
private ResourceUrlProvider resourceUrlProvider;
@ModelAttribute("urls")
public ResourceUrlProvider urls() {
return this.resourceUrlProvider;
}
}
11.集成jquery
我们只需要在pom.xml 文件中添加jquery的webjars 依赖即可,如下
org.webjars
jquery
3.1.0
未完待续。。。。。。。。