大学毕业没有项目经验,全靠老师给的SpringBoot源码教程(已开源附源码资料)

项目介绍:

  • 这是一个基于SpringBoot的旅游项目,有前台介绍界面,也有后台管理系统
  • 需要的基础知识:Mybatis+Spring+SpringMVC+SpringBoot+Thymeleaf+ajax+Spring Security
  • 项目采用全注解的实现方式,没有繁琐的配置文件
  • 项目地址:github.com/anPetrichor…

前台首页

后台首页

后台访问地址:http://localhost:8080/loginManage

项目中配置类:


定义一个LoginAOP切面类,必须先登录才能使用用户操作功能
切面类需要明白的:什么时候给什么方法增加什么功能
切面 (Aspect) 理解为一个增强的功能
切入点 (Pointcut) 理解为需要增强功能的目标方法的一组集合
通知 (Advice) 理解为切面的执行时间
环绕增强方法实际是拦截了目标方法的执行,在执行目标方法之前,必须执行环绕方法

@Aspect
@Component
public class LoginAOP {
   

    private Logger logger = LoggerFactory.getLogger(getClass());

    //执行用户功能先进入登录切入点
    @Pointcut("execution(* com.travel.controller.UserDoController.*(..))")
    public void loginPoint(){
   

    }

    @Around("loginPoint()")
    public Object doBefore(ProceedingJoinPoint joinPoint) throws Throwable {
   
        logger.debug("登录环绕通知");
        //1.拿到request请求
        ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletRequest request = requestAttributes.getRequest();
        //2.获取session
        HttpSession session = request.getSession();
        //3.获取userInfo信息
        UserInfo userInfo = (UserInfo) session.getAttribute("userInfo");
        //4.判断是否登录
        if (userInfo == null){
   
            //如果 requestedWith 为 XMLHttpRequest 则为 Ajax 请求
            String requestType = request.getHeader("X-Requested-With");
            if ("XMLHttpRequest".equals(requestType)){
   
                logger.debug("ajax请求");
                //返回ajax数据
                String loginResult = "{\"loginResult\":\"false\"}";
                return loginResult;
            }else {
   
                logger.debug("非ajax请求");
                return "redirect:/login";
            }
        }
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值