Servlet的代码定义

Mewchan介绍
Playground(HTTP与WebSocket服务)
Servlet定义

默认情况下Servlet通常会定义在Brain或者Kitty的代码文件中,通过Mewchan提供的Annotation调用来进行注册过程。整个Mewchan启动后Sservlet将会在其对应的Playground上自动生效。

Servlet的Annotation空间是mewchan.kitty,该空间会在Brain或者Kitty的代码中默认生效,不用额外引入。

Servlet的定义参数若无特别说明,按照如下的规则定义:

@servlet.api(${handler});
@servlet.api(${pathRule}, ${handler});
@servlet.api(${playgrounds}, ${pathRule}, ${handler});

默认情况下,如果不提供pathRule,则认为路径规则为匹配所有路径;如果不提供playgrounds,则认为该Servlet将在所有的Playground中注册。

默认系统中将会提供以下的一些Annotation:

annotation 作用 备注
@servlet(...) 定义一个标准Servlet 等同于@servlet.after(...)
@servlet.before(...) 定义一个before序列的Servlet
@servlet.after(...) 定义一个after序列的Servlet
@servlet.express(...) 定义一个兼容express的Servlet after序列
@servlet.get(...) 定义一个after序列、只处理GET请求的Servlet
@servlet.post(...) 定义一个after序列、只处理POST请求的Servlet
@servlet.put(...) 定义一个after序列、只处理PUT请求的Servlet
@servlet.delete(...) 定义一个after序列、只处理DELETE请求的Servlet
@servlet.error([[playground], code], handler) 定义一个专用处理服务器错误信息的Servlet 当服务器发生错误时,将会调用这个handler进行请求输出,也可以定义特别的错误码处理handler
@servlet.redirect(...) 定义一个HTTP转接的Servlet handler可以是字符串,则直接转接到该字符串所代表的地址
@servlet.cors([[playground], path], options) 定义一个HTTP跨域访问处理Servlet options可参考CORS跨域访问
@servlet.quota([[playground], path], options) 定义一个访问限制Servlet options可以参考Quota配额
@servlet.normalize([playgrounds], path, [options], [handler]) 为符合path规则的请求加载HTTP表单的支持 如果有handler,则同时处理掉
@servlet.multipart([playgrounds], path, [options], [handler]) 为符合path规则的请求加载HTTP请求的普通URL encode与Query形式数据的支持 如果有handler,则同时处理掉
@servlet.mhtml([playgrounds], path, [options], [handler]) 为符合path规则的请求加载MHTML输出时,额外的调用支持 如果有handler,则同时处理掉
@servlet.session([[playgrounds], path], cookie, factory) 定义Session工厂,从而确保跨引擎的Session同步与共享
最后更新时间:2018年10月30日 10:55:29