Servlet与JSP的关系理解

Servlet与JSP的关系理解

之前说过一些,JSP是以Servlet为基础的,所以很多地方JSP与Servlet都一样。

每一个JSP页面都会被Web容器编译成一个Java类(即Servlet),供web容器调用,并且生成HTML页面(Servlet直接利用response对象的输出流输出)回馈给用户。所以归根结底,JSP还是利用Servlet输出html页面,只是用JSP语言,省略了servlet繁琐的逐条输出,同时还把整个软件架构提高到了MVC模式。


JSP到Servlet

JSP页面对应一个Servlet类,所以每个JSP页面都会有编译的过程,编译其实就是将JSP语法翻译为Servlet里的语句。

而了解其中的变异方法和规则,对我们学习JSP是非常有好处的,可以说学习好了这个编译原理,就已经学习好了大部分的JSP知识,剩下的工作就只剩下熟记一些tablib和反复应用以使自己更加熟练而已了JSP会被编译成.java放Tomcat/work/Catalina/localhost/*/org/apache/jsp/page
然后编译成.class。

jsp = java + html
servlet = java + out.print(html)