这篇文章来看一下JSP版本的HelloWorld和Servlet版本的有何区别。
在hello这个web应用下,新建一个index.jsp文件,代码如下:
out.print("HelloWorld from jsp");
%>
在浏览器中看到结果,和Servlet基本上是相同的。JSP是如何运行的呢,我们来到%TOMCAT_HOME%\work\Catalina\localhost\hello\org\apache\jsp这个文件夹(tomcat版本不同可能路径不同),看到了index_jsp.class和index_jsp.java这两个文件,打开来看看,啊,恍然大悟,这不就是个Servlet吗?完全正确,这就是Tomcat根据JSP页面生成的Servlet,也就是说所有的请求都是由Servlet来完成的,而从JSP转化成Servlet这一步工作就由Tomcat这一类服务器来完成了,这是JSP比Servlet简单的原因,也是JSP比Servlet效率低的原因,不过一般情况下,JSP被编译以后,如果没有被修改的话,也不会重新编译的,所以这时候效率和Servlet相当。
这也是我说JSP就是Servlet的原因,这也就是Servlet如此重要的原因。
虽然说JSP和Servlet就是一回事,但是在使用上还是有很多的区别的,JSP的语法更加简单,但是存在危险性,在JSP项目的开发中,其实是JSP和Servlet以及JavaBean共同协调工作的。
下一篇文章介绍JSP和Servlet接受参数进行编程的实现。