java.lang.ClassCastException: com.sany.web.session.WebSession cannot be cast to java.lang.String
at com.sany.web.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:34)
logger.error((String)req.getSession().getAttribute("user"), ...); // 強制轉型導致異常
Session 屬性 "user" 存放的是 WebSession 物件,程式碼卻直接 (String) 強制轉型,型別不符導致 ClassCastException。
Object userObj = req.getSession().getAttribute("user");
String userStr = (userObj != null) ? userObj.toString() : "anonymous";
// 或
WebSession ws = (WebSession) userObj; // 若確定型別
instanceof 或 Optional 避免 NPE/CCE。SESSION_USER_KEY 避免字串拼寫錯誤。-Xlint:unchecked 提早發現型別轉換風險。