一. 背景
- 由于Servlet必须把给用户响应的视图组装成一个很长的HTML格式的字符串写入println()方法中,故容易出错和可读性差。
- 故JSP的诞生解决了该问题。其思想是:让每个Servlet 只负责其对应的业务逻辑的处理,JSP来负责用户的HTML显示,实现了业务逻辑与视图实现的分离。
二. 异同
-
同
(1)JSP可看作是特殊的Servlet,是对Servlet的扩展 ;
(2)JSP页面最终要转换成Servlet来运行,故处理请求实际上是编译后的Servlet。 -
异
(1)Servlet的实现是在Java中嵌入HTMl代码,编辑和修改不方便,故适合做流程控制、业务处理;JSP的实现是在HTML中嵌入Java代码,适合做页面显示;
(2)Servlet没有内置对象,JSP的内置对象必须通过HttpServletRequest、HttpServletResponse、HttpServlet对象得到。
三. 使用JSP与Servlet实现MVC模型
MVC即Model(模型)、View(视图)、Controller(控制器)。
- 模型层实现业务逻辑,采用JavaBean实现;
- 视图层则是与用户交互,采用JSP实现;
- 控制层是模型与视图之间沟通的桥梁,采用Servlet实现。