我有模型/控制器,但是如何处理视图?
如果我使用HttpServlet
作为我的控制器,并且我已经安装了我的模型并安装在特定的软件包中,那么这些视图又如何?我想要的最后一件事是将所有这些HTML转储到我的控制器中。我在哪里放?什么文件类型?我有模型/控制器,但是如何处理视图?
我是新来的Java :)
更新
如果我应该使用jsp文件,就没有我的“网页”部分中的JSP文件让他们公开可见的?或者他们应该去其他地方?我如何将它们包含在我的页面上并将参数传递给它们?
如果您正在使用servlet(这似乎是这种情况),您的视图应该在JSP文件中。如果您使用的是JSF,则将您的视图放在facelets中,但是因为您正在使用servlet,所以情况并非如此。 JSF是最新的规范,但我相信最好从JSP和servlet开始 - 可能会遵循official tutorial。
编辑:如何从servlet发送请求到JSP?刚刚获得来自ServletRequest
一个RequestDispatcher
传递JSP路径作为参数:
RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp");
如果调度员从null
是不同的,只需要调用它的include()
forward()
方法:
dispatcher.forward(request, response);`
调度员可以null
(例如,如果JSP不存在),那么验证是否返回了适当的调度程序是一种很好的做法。
JSP是用于查看。所以他们应该公开。 JSP不会公开除HTML之外的任何内容,就像您在PHP中一样。除非您错误地配置了服务器,否则不会显示该来源。
此外,您可以通过共享对象将对象从servlet传递到jsp,因为它们在同一虚拟机中。 JSP是servlet反向的,所以不是从Java打印HTML,而是将Java嵌入到HTML中,这样可以节省写出out.print语句的工作量......
因此,servlet更适合编写操作。 JSP用于视图。
你也可以考虑花一些时间学习JSTL。它使您的JSP清晰易读:http://docs.oracle.com/javaee/5/tutorial/doc/bnakc.html
请记住,用户将无法在JSP中看到代码,Web容器实际上编译JSP文件非常像JVM(实际上以非常类似的方式)编译源代码。如果您正在使用类似Tomcat的东西,则可以在Web容器的工作目录中查看已编译的JSP。它会看起来像一个正常的类文件,其中有很多out.write。
你可以使用jsp吗?它将servlet嵌入到html中的逆函数。 – 2011-12-18 00:34:49
http:// stackoverflow。com/tags/servlets/info – BalusC 2011-12-18 00:48:38