首先,我们需要先写配置文件 配置文件如下: 《pom.xml》:
配置文件写完后 我们需要写我们的配置文件 配置文件如下
设置端口号
server.port=8081
#\设置ftl的加载位置,即framemark的视图配置
#此行是数据库的连接以及编码
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/数据库名称?serverTimezone=GMT%2B8&characterEncoding=utf-8
数据库的账户和密码(mysql)
spring.datasource.username=root
spring.datasource.password=root
通过什么进行连接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
spring.datasource.maxWait=60000
mybatis.mapper-locations=classpath:com/example/demo/mapper/*Mapper.xml
##设置静态页面的前缀以及后缀
spring.mvc.view.prefix=/html/
spring.mvc.view.suffix=.html;.jsp
##freemarker设置
spring.freemarker.template-loader-path=classpath:/templates/
spring.freemarker.charset=UTF-8
spring.freemarker.suffix=.ftl
spring.freemarker.content-type=text/html
##mybatis别名
mybatis.type-aliases-package=com.example.demo.dto
##springboot整合redis redis 默认没有密码 如果需要可以自行创建
spring.redis.database=0
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=
spring.redis.timeout=3000ms
spring.redis.jedis.pool.max-idle=500
spring.redis.jedis.pool.min-idle=50
spring.redis.jedis.pool.max-active=2000
spring.redis.jedis.pool.max-wait=1000ms
最后写增删改查的代码 以及框架的包名
拦截器的使用
// An highlighted block
package com.example.demo.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import com.example.demo.dto.Admin;
/*
这三个都是核心方法 根据需求进行调用
*/
public class MyInterceptor implements HandlerInterceptor{
/*
* 在目标方法调用该之间触发该方法
*
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// TODO Auto-generated method stub
boolean flag = false;
//获取路径
String requestURI = request.getRequestURI();
Admin admin = (Admin) request.getSession().getAttribute("admin");
if("/goods/toLogin".equals(requestURI)||"/goods/login".equals(requestURI)) {
//进行判断 登录成功后不拦截
flag = true;
}else {
if(admin!=null) {
//后台登录时候不拦截
flag=true;
}else {
//拦截
flag=false;
/*请求路径的转发*/request.getRequestDispatcher("/goods/toLogin").forward(request, response);
}
}
return flag;
}
/*
* 在目标方法调用完成之后但是在页面渲染之前
*/
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
// TODO Auto-generated method stub
HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
}
/*
* 目标方法调用完成之后但是在页面渲染之前
*/
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
// TODO Auto-generated method stub
HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 拦截器的执行
package com.example.demo.interceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
public class RegisterAdaptor extends WebMvcConfigurerAdapter{
@Override
public void addInterceptors(InterceptorRegistry registry) {
// TODO Auto-generated method stub
registry.addInterceptor(new MyInterceptor())
.addPathPatterns("/goods/*") // 获取所有的方法 且下面的两个方法是用来在后台看到如果进入登录页面时候进行拦截
.excludePathPatterns("/goods/toLogin")
.excludePathPatterns("/goods/login");
super.addInterceptors(registry);
}
}