何时将响应发送回浏览器

时间:2013-10-04 20:50:11

标签: jsp java-ee servlets front-controller

我在Java2EE Servlets和JSP中乱七八糟,当生成的HTML代码发送到Web浏览器时,我仍然感到困惑。我实现了FrontController模式,因此用户请求被Controller servlet(FC)拦截,后者根据请求中打包的命令查找,正在请求的是什么jsp页面,并使用request.getRequestDispatcher(path).forward(request, response);转发请求和响应 那么我猜是生成并通过forward方法传递的请求从几行动态设置数据中返回的jsp页面会被发送回浏览器?

我想这不是正确的方式,它只是我看到它的方式,所以有人可以纠正我可能编写整个程序并解释getRequestDispatcher(path).forward(request, response);的确切目的吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

转发包括:我已经完成了我的工作,让生活在path的组件完成剩下的工作。

Servlets(控制器)擅长读取和验证参数,调用业务逻辑和创建Java Bean实例(模型)。他们很难生成HTML代码。

JSP(视图)非常适合使用存储在Java bean中的数据动态生成HTML代码,但它们不擅长执行业务逻辑。

因此,请求首先由servlet处理,该servlet读取并验证参数,调用业务逻辑,获取数据并将其存储在作为请求属性存储的Java Bean中。然后,servlet将请求和响应转发给JSP,JSP生成HTML并将其写入响应编写器。写入响应编写器的内容将转到浏览器。