2011-07-16 149 views
1

我是JSP和Servlet Web开发人员的绝对初学者,因此我正在为一些概念性的东西苦苦挣扎。当我们有.java文件可用时,为什么我们需要JSP文件?

1)我不明白为什么我们需要有我们编译的纯Java代码文件,但也有单独的JSP文件......难道他们最终实现在Java中的逻辑/功能?

2)您如何确定您应该在java文件中包含哪些函数/操作以及哪些应该包含在JSP文件中?

3)最后,还有在的Java和JSP文件(尽管在Java文件中,我们动态输出HTML代码的HTML代码。但不会在重复的HTML代码这样的结果?

+2

这个链接也有助于获得更好的理解“正常惯例”:http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files简而言之:HTML代码属于JSP文件。 Java代码属于Java类。就那么简单。 – BalusC

回答

3

1)我真的不明白,为什么我们需要纯Java代码文件 我们编译,但也有独立的JSP文件?难道他们不都 结束了用Java实现的逻辑/功能?

我想你指的是纯Java代码文件是Servlet.In事实上,你只能使用servlet写整个Web应用程序,但你会发现在你的应用程序如下缺点:

  • HTML是使用println()生成的,这意味着如果想对HTML进行一些更改,则必须更改,重新编译并重新部署Java代码。这会导致维护问题。

  • java代码很难理解网页设计者。

  • 由于每件事都在Java代码中表达,所以内容和表示之间的差距很小。

JSP被设计来解决这些缺点:

  • 您不必重新编译JSP以反映更改。只需更新并保存JSP,Web容器将在下一个请求中检索到JSP时自动重新编译代码。

  • JSP页面看起来与HTML页面非常相似,网页设计人员使用JSP页面而不是Servlet更容易。

  • JSP有助于将演示文稿和业务逻辑代码分开,其中演示文稿可以在JSP中表达,而业务逻辑可以以Java Bean或自定义标签的形式实现。这种分离将导致更好可维护性。

2)你如何确定哪些功能/操作的,你应该包括在Java文件 ,哪些是你应该包括JSP文件...?

JSP的优势在于显示HTML。您应该使用JSP来定义视图以将数据呈现给用户。例如,如果要根据某些输入参数或某些业务逻辑处理显示不同的内容,则应该执行此调度工作,并选择要显示结果的JSP(JSP)以显示结果在Servlet中。

如果请求的输出不包含HTML,例如生成图形或下载文件,则应该在Servlet中执行。因此,从MVC模式的角度来看,Servlet扮演Controller角色,而JSP扮演View角色。

可以发现使用Servlet和JSP在这里的最佳做法: http://www.oracle.com/technetwork/articles/javase/servlets-jsp-140445.html

1

Java servlet为JSP对比的解释可以在这里找到:

http://www.oxxus.net/tutorials/jsp/why-jsp

最重要的

JSP使业务逻辑能够与演示文件完全分离。通过使用Java作为脚本语言,JSP不限于特定的供应商平台。作为J2EE架构的组成部分,JSP可以完全访问服务器端资源。

2:如果该功能只是由该JSP调用,请继续并将其放在那里。一般来说,你只需要从JSP中调用Java的代码,而不是在代码中留下太多的代码。将这些函数构建到.java中并从JSP中调用它们将促进代码重用,并让您更仔细地考虑如何实现这些功能。

3:尽量避免与业务逻辑(Java)混合呈现(HTML,否则)。

这不会导致重复的html代码?

它确实,不这样做。

相关问题