我不知道它的安全(死鎖沒有概率)使用靜態方法內部的J2EE Web過濾器或我應該使用實例方法? 我有以下doFilter方法在J2EE WebFilter過濾器中使用靜態方法是否安全?
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
String contextPath = httpServletRequest.getContextPath();
if ((httpServletRequest.getRequestedSessionId() != null &&
!httpServletRequest.isRequestedSessionIdValid()) || (loginBean == null || loginBean.getUserId() == -1)) {
httpServletResponse.sendRedirect(contextPath + Navigation.getLoginURL());
} else {
chain.doFilter(request, response);
}
}
凡
Navigation.getLoginURL()
是一個靜態方法。這可能導致僵局嗎?
死鎖當一個線程被阻塞,在等待另一個線程鎖定的資源,反之亦然發生。這裏沒有任何鎖定。那麼爲什麼會出現僵局呢?如果多個請求嘗試同時點擊過濾器,則返回 –
。 – Jim
然後呢?他們都會同時執行你的靜態方法。 –