JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。
JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来,而JSP的情况是Java和HTML可以组合成一个扩展 名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
JSP和Servlet和本质上都是java类。你编写的jsp文件,初看起来虽然绝对不像一个java类,但当你把它部署到容器中后,如tomcat。tomcat将会把它翻译为Servlet,最后在把它编为.class文件。你可以在“[TOMCAT_HOME]\work\Catalina\localhost\应用程序名称”中看到。
1.既然jsp归根结底是servlet,那为啥发明个这玩意呢?
最直接的原因是:在servlet写html会恶心死人的,呵呵。
2.为什么容器(tomcat)先把它翻译成Servlet(java),在编译成.class?为何不一步到位?
因为我们已经有java->.class这一部分了,利用jsp->Servlet(java)->.class 不是少开发了一部分 |