過(guò)濾器中的request.getPathInfo()一直返回null
你好前輩,我你的框架上,在webmvaConfigurer中加入了一個(gè)過(guò)濾器?
AppTokenCheckFilter
這個(gè)類(lèi)的詳情如下:
/** 過(guò)濾器 */
public class AppTokenCheckFilter extends OncePerRequestFilter {
? ?@Override
? ?protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
? ? ? ?System.out.println("AppTokenCheckFilter++++++: ?"+request.getPathInfo());
? ? ? ?try {
? ? ? ? ? ?if(!WebConstant.PASS_REQUEST.contains(request.getPathInfo())) {
? ? ? ? ? ? ? ?String token = request.getHeader("Authorization");
? ? ? ? ? ? ? ?//檢查jwt令牌, 如果令牌不合法或者過(guò)期, 里面會(huì)直接拋出異常, 下面的catch部分會(huì)直接返回
? ? ? ? ? ? ? ?Map<String,Object> result = JwtUtil.validateToken(token);
? ? ? ? ? ? ? ?request.setAttribute("uId",result.get("uId"));
? ? ? ? ? ? ? ?request.setAttribute("phone",result.get("phone"));
? ? ? ? ? ?}
? ? ? ?} catch (Exception e) {
? ? ? ? ? ?PathCheckMsgUtil.writeMsgToPage(request, response, ResponseVoResultCode.CODE_AUTHORITY, "您的身份驗(yàn)證已過(guò)期, 請(qǐng)重新登錄", "app no token");
? ? ? ? ? ?return;
? ? ? ?}
? ? ? ?//如果jwt令牌通過(guò)了檢測(cè), 那么就把request傳遞給后面的RESTful api
? ? ? ?filterChain.doFilter(request, response);
? ?}
}
當(dāng)有請(qǐng)求進(jìn)來(lái)后,通過(guò)request.getPathInfo()獲取 路徑,一直是null,不明白哪有問(wèn)題,希望前輩能指點(diǎn)一下?
2020-05-15
先用這個(gè)試試看?String?path=request.getRealPath("/");