首先,一定要知道的是:所有的网页最终显示的都是HTML代码,我们现在所看到的网页都是静态页面,都是由HTML组成的。任何的动态语言都不能脱离HTML而单独存在于一个网站上,因为没有静态的页面显示,无法给用户返回数据。
1. Jsp和Html的区别:
HTML:是静态语言,是事先由用户写好放在服务器上,由web服务器向客户端(浏览器)发送,是浏览器代码,可以通过浏览器直接打开。
Jsp:全名为Java Server Pages,中文名叫java服务器页面,是动态语言,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。需要先编译成servlet程序,再编译成servlet字节码(.class文件),再动态生成HTML页面返回给客户端(浏览器)。jsp只能发布在Tomcat等其它的Servlet容器上才能打开。
可以把HTML看作是界面,把asp\jsp\PHP等看作是后台代码。(最后经过服务器处理后成为html代码呈现在用户眼前)
2.Jsp和Html的处理流程案例:
3.Jsp和Servlet的关系:
JSP,其根本是一个简化的Servlet设计,由以上图片可知,jsp在服务器端最后是通过转化为Servlet执行,是在服务器端执行,我们在浏览器端看到的jsp实际上是由它动态生成的HTML页面。
jsp可以完成的功能,Servlet也可以完成,但是表示页面元素的时候会生成很多out.println()语句,而且Java语言和HTML语言混合在一块儿使用造成页面显示和业务逻辑都混合在一块儿,复用性和可维护性都很差;运用jsp与Servlet结合使用时就可以很好的将页面展示信息与业务逻辑分开,开发和维护都很方便。jsp负责页面显示,Servlet负责业务逻辑控制。