Java:生的servlets web app概念理解
我目前正在探索Java,并且只有路由器支持才能findnano框架。
所以我正在阅读有关servlet,并不能完全理解的概念:我应该有我的应用程序可以有每个该死的请求的servlet? 那只是无法控制的混乱。
下面的解决方案是可行的:
- 我只有一个servlet捕获所有的请求。
- 我有一些路由器服务,在这个servlet中将处理url,并简单地返回适当的POJO类的方法调用lambda接受响应和请求。
例如控制器之一(他们都是这样)(在Kotlin,但你明白了):
class Foo { fun bar(request: HttpServletRequest, response: HttpServletResponse) { response.getWriter().println("hello world!") //or eg write some freemaker template } }
我的路由器会是这样的:
Router.addRoute("GET", "foo/bar") { request, response -> Foo().bar(request, response) } //other routes added the same
例如在servlet中,它只会:
class TheGodServlet : HttpServlet { override doGet(HttpServletRequest request, HttpServletResponse response) { val handler = Router.getHandlerFor(request.getRequestURL().toString()) if (handler == null) { throw Exception("no such route mapped") } else { handler(request, response) } } //same for Post Put Delete etc. }