用拦截器判断,如果没有登陆的话返回登陆页面并提示用户没有登陆,我想知道怎样给用户提示?

2025-05-14 03:29:02
推荐回答(2个)
回答1:

if(dao.isUser(name,pwd)){
out.println("");

}else{
out.println("");
}

这洋啊!你可以把变量request设置到request里面或者session里面,再到页面用getAttribute方法得到它,还有什么问题请留言

回答2:

/**
* 配置登录拦截器
* qtl
*/
@Configuration
public class LoginConfig implements WebMvcConfigurer {

@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoginInterceptorConfig())
.addPathPatterns("/**")
.excludePathPatterns("/login")
.excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/doc.html/**", "/swagger/**", "/redis/**");
}
}

/**
* 登录拦截器
* qtl
*/
public class LoginInterceptorConfig implements HandlerInterceptor {
@Resource
private TokenProccessor tokenProccessor;

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
if (request.getHeader("token") != null) {
// 此处写你的判断是否有登陆的判断
String token_id = tokenProccessor.getHttpToken(request.getHeader("token"));
if (token_id != null) {
return true;
}
}
return false;
}

@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
System.out.println("执行了TestInterceptor的postHandle方法");
}

@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
System.out.println("执行了TestInterceptor的afterCompletion方法");
}

}