jsp和servlet其实是同一个东西。因为,jsp最终需要被jsp引擎编译为servlet,然后在容器中运行。或者说,jsp是servlet的草稿文件。
jsp的写法比较简单,其形式为在HTML中嵌入Java代码,或者使用各种标签(下一篇具体介绍一个jsp页面怎么写)。
在早期,没有MVC的情况,我们可以只用jsp来实现一个JavaEE开发(因为在jsp中可以写Java代码,而Java是万能的),后来,因为这样会导致开发特别的冗杂,我们才开始使用MVC。即,jsp只用来表现层实现页面的展示。
此处应该注意,jsp虽然和HTML的书写方式极其相似,但是它们两个是有着本质的区别的。HTMl是一种静态资源,和图片、文本是一样的,浏览器下载下来之后,直接展示就可以了。而jsp却截然不同,它被jsp引擎编译为servlet之后,就会在容器中存在一个servlet组件,当用户请求这个组件的时候,该组件就会通过out输出流,把页面内容(包括静态内容和动态内容)输出到浏览器。