Java:拦截器简介和应用示例(多个拦截器+校验token是否为空)
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Component
public class TokenInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
// 从HTTP请求头中取得Token
String token = request.getHeader("Token");
// 验证Token是否为空
if (token == null || token.isEmpty()) {
// 如果Token为空,返回错误信息
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
response.setCharacterEncoding("UTF-8");
try {
response.getWriter().write("Token is empty, Access Denied!");
} catch (IOException e) {
e.printStackTrace();
}
return false; // 拦截请求
}
// 如果Token不为空,继续请求处理
return true;
}
}
这段代码实现了一个简单的Token验证拦截器,用于检查HTTP请求中的Token是否为空。如果Token为空,它将返回一个401未授权的HTTP状态码,并写入错误信息。这是一个典型的在Spring MVC中使用拦截器进行身份验证和授权的例子。
评论已关闭