我在Java2EE Servlets和JSP中乱七八糟,当生成的HTML代码发送到Web浏览器时,我仍然感到困惑。我实现了FrontController模式,因此用户请求被Controller servlet(FC)拦截,后者根据请求中打包的命令查找,正在请求的是什么jsp页面,并使用request.getRequestDispatcher(path).forward(request, response);
转发请求和响应
那么我猜是生成并通过forward方法传递的请求从几行动态设置数据中返回的jsp页面会被发送回浏览器?
我想这不是正确的方式,它只是我看到它的方式,所以有人可以纠正我可能编写整个程序并解释getRequestDispatcher(path).forward(request, response);
的确切目的吗?
提前致谢!
答案 0 :(得分:1)
转发包括:我已经完成了我的工作,让生活在path
的组件完成剩下的工作。
Servlets(控制器)擅长读取和验证参数,调用业务逻辑和创建Java Bean实例(模型)。他们很难生成HTML代码。
JSP(视图)非常适合使用存储在Java bean中的数据动态生成HTML代码,但它们不擅长执行业务逻辑。
因此,请求首先由servlet处理,该servlet读取并验证参数,调用业务逻辑,获取数据并将其存储在作为请求属性存储的Java Bean中。然后,servlet将请求和响应转发给JSP,JSP生成HTML并将其写入响应编写器。写入响应编写器的内容将转到浏览器。