我对JSP的理解是,第一次加载的每个JSP页面都被编译成Java Servlet。这对于ASPX页面是否相同(当然,不是对于servlet,而是ASP.NET等效项)?
还有别的 技术 我应该注意JSP和ASP.NET(MVC 2)的差异吗?
我对JSP的理解是,第一次加载的每个JSP页面都被编译成Java Servlet。这对于ASPX页面是否相同(当然,不是对于servlet,而是ASP.NET等效项)?
还有别的 技术 我应该注意JSP和ASP.NET(MVC 2)的差异吗?
JSP页面被翻译成Java源代码,然后编译成类文件(包含Java字节代码)以供将来执行。在那之后,它们实际上是由JVM编译的JIT(Just In Time),当它们需要执行时(因此它们非常快)。
我猜测.NET应用程序有类似的过程,因为它们被编译成.NET程序集。这有点像Java的类文件,除了它们是在CLR上运行的IL(中间语言)。在运行时,IL也被转换为本机机器指令以供执行。
实际的构建/运行时机制(从高级别)可能非常相似。
编辑
以下是有关ASP.NET的一些细节: http://msdn.microsoft.com/en-us/library/ms366723.aspx
此外,对于基于Java的Web应用程序,运行它们的容器可以配置为在部署应用程序时预编译JSP。然后,JVM将类文件加载到内存中,并从那一点开始处理JIT编译/缓存。
ASP可以模糊地与JSP / Servlet进行比较。 ASP.NET可以模糊地与JSF(构建在Servlet / JSP之上)进行比较。
ASP.NET和JSF都是 基于组件 框架,而JSP和ASP大多是 视图 技术。
正确完成后,JSP / Servlet可用于拥有 操作为主 控制器处理命令并转发到视图以进行渲染(MVC)的方法,该视图将视图渲染与业务逻辑分离。
但是基于组件的框架采用的方法是不同的,每个组件都可以触发回调(业务逻辑)并负责自我渲染。他们还依赖于这个概念 数据绑定,在基于行动的框架中不存在。
基于组件的模型更接近桌面应用程序的编程模型,但是抽象了应用程序的webby性质。这既好又坏。当您想要优化与Web相关的内容(例如友好的URL等)时,这很糟糕。我认为为什么Microsoft稍后会在ASP.NET旁边的基于动作的MVC框架中引入。