public class HttpServlet extends Servlet<HttpContext,HttpRequest,HttpResponse>
详情见: https://redkale.org
限定符和类型 | 类和说明 |
---|---|
protected static class |
HttpServlet.InnerActionEntry |
限定符和类型 | 字段和说明 |
---|---|
static int |
RET_METHOD_ERROR |
static int |
RET_SERVER_ERROR |
构造器和说明 |
---|
HttpServlet() |
限定符和类型 | 方法和说明 |
---|---|
protected void |
authenticate(HttpRequest request,
HttpResponse response)
用户登录或权限验证, 注解为@HttpMapping.auth == true 的方法会执行authenticate方法, 若验证成功则必须调用response.nextEvent();进行下一步操作, 例如:
@Override public void authenticate(HttpRequest request, HttpResponse response) throws IOException { UserInfo info = request.currentUser(); if (info == null) { response.finishJson(RET_UNLOGIN); return; } else if (! |
void |
execute(HttpRequest request,
HttpResponse response) |
void |
postStart(HttpContext context,
AnyValue config) |
protected void |
preExecute(HttpRequest request,
HttpResponse response)
预执行方法,在execute方法之前运行,设置当前用户信息,或者加入常规统计和基础检测,例如 :
@Override public void preExecute(final HttpRequest request, final HttpResponse response) throws IOException { //设置当前用户信息 final String sessionid = request.getSessionid(false); if (sessionid ! |
public static final int RET_SERVER_ERROR
public static final int RET_METHOD_ERROR
public void postStart(HttpContext context, AnyValue config)
protected void preExecute(HttpRequest request, HttpResponse response) throws java.io.IOException
预执行方法,在execute方法之前运行,设置当前用户信息,或者加入常规统计和基础检测,例如 :
@Override public void preExecute(final HttpRequest request, final HttpResponse response) throws IOException { //设置当前用户信息 final String sessionid = request.getSessionid(false); if (sessionid != null) request.setCurrentUser(userService.current(sessionid)); if (finer) response.recycleListener((req, resp) -> { //记录处理时间比较长的请求 long e = System.currentTimeMillis() - ((HttpRequest) req).getCreatetime(); if (e > 200) logger.finer("http-execute-cost-time: " + e + " ms. request = " + req); }); response.nextEvent(); }
request
- HttpRequestresponse
- HttpResponsejava.io.IOException
- IOExceptionprotected void authenticate(HttpRequest request, HttpResponse response) throws java.io.IOException
用户登录或权限验证, 注解为@HttpMapping.auth == true 的方法会执行authenticate方法, 若验证成功则必须调用response.nextEvent();进行下一步操作, 例如:
@Override public void authenticate(HttpRequest request, HttpResponse response) throws IOException { UserInfo info = request.currentUser(); if (info == null) { response.finishJson(RET_UNLOGIN); return; } else if (!info.checkAuth(request.getModuleid(), request.getActionid())) { response.finishJson(RET_AUTHILLEGAL); return; } response.nextEvent(); }
request
- HttpRequestresponse
- HttpResponsejava.io.IOException
- IOExceptionpublic void execute(HttpRequest request, HttpResponse response) throws java.io.IOException
execute
在类中 Servlet<HttpContext,HttpRequest,HttpResponse>
java.io.IOException