如果我使用HttpServlet
作为我的控制器,并且我已经设置了模型并在特定的包中,那么视图呢?我想要的最后一件事是将所有这些HTML转储到我的控制器中。我把它放在哪里?什么文件类型?
我是Java的新手:)
更新
如果我应该使用jsp文件,我的“网页”部分中不会有jsp文件使它们公开可见吗?或者他们应该去别的地方?如何将它们包含在我的页面上并将参数传递给它们?
答案 0 :(得分:2)
如果您正在使用servlet(似乎就是这种情况),您的视图应该包含JSP个文件。如果您使用JSF,则将视图放在facelets中,但由于您使用的是servlet,因此不是这样。 JSF是最新的规范,但我敢打赌,最好从JSP和servlet开始 - 也许遵循official tutorial。
编辑:如何从servlet向JSP发送请求?只需从RequestDispatcher
获取ServletRequest
作为参数传递JSP路径:
RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp");
如果调度程序与null
不同,只需调用其 include()
forward()
方法:
dispatcher.forward(request, response);`
调度程序可以是null
(例如,如果JSP不存在),因此最好验证是否返回了正确的调度程序。
答案 1 :(得分:0)
jsps或javascript。
你很可能想要jsps。
答案 2 :(得分:0)
JSP用于视图。所以他们应该公开。除了html之外,JSP不会像在PHP中那样公开输出。除非您错误地配置了服务器,否则源不会显示。
此外,您可以通过共享对象将对象从servlet传递到jsp,因为它们位于同一个vm中。 JSP是servlet颠倒的,所以不是从java打印HTML,而是在html中嵌入Java,这样可以避免编写out.print语句....
因此servlet更适合编写动作。用于视图的JSP。
答案 3 :(得分:0)
您也可以考虑花一些时间学习JSTL。它使您的JSP清晰易读:http://docs.oracle.com/javaee/5/tutorial/doc/bnakc.html
请记住,用户将无法在JSP中看到代码,Web容器实际上编译JSP文件很像JVM(实际上以非常类似的方式)编译源代码。如果您使用的是Tomcat之类的东西,则可以在Web容器的工作目录中查看已编译的JSP。它看起来会像普通的类文件一样,里面有很多out.write。