代码:
继承AbstractProcessor,实现process方法:
代码中1、2、3处我想不再往后面执行,直接返回json格式数据,但是不知道怎么返回
@Override
public void process(ActionContext ac) throws Throwable {
HttpServletRequest req = ac.getRequest();
String json = req.getParameter("params");
Map<String, String> params = null;
try {
if (StringUtils.compareTrim(json))
params = (Map<String, String>) Json.fromJson(json);
} catch (Exception e) {
e.printStackTrace();
}
String sessionId = null;
if (params != null)
sessionId = params.get("sessionId");
String reqUri = req.getRequestURI();
if (reqUri.contains("/wds/y/")) {
if (!StringUtils.compareTrim(sessionId)) {
System.out.println("缺少参数:sessionId");
// 1、缺少参数:sessionId
} else {
Session session = SC.get(sessionId);
if (session == null) {
//2、 会话已过期
System.out.println("会话已过期");
} else if (session.isInvalid()) {
// 3、该会话在其他地方登录,已失效
System.out.println("该会话在其他地方登录,已失效");
} else {
System.out.println("会话正常");
doNext(ac);
}
}
} else {
// 不需要登录的请求
System.out.println("不需要登录的请求");
doNext(ac);
}