JSP入门
1.什么是JSP?
JSP是Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它是Java Server Pages的简称。JSP技术有点类似ASP技术,它在传统的网页HTML文件中插入了Java程序段和JSP标记,从而形成了JSP文件。
2.JSP的作用
我们知道,jsp是一种动态网页技术,并且它是服务器端技术,属于动态资源的一种。浏览器不能直接显示。其实,jsp本身也是一个Servlet,这个我们会在后面详细讲解。jsp与Servlet和HTML都有关系,下面我们来分析它们的各自的优缺点:
- Servlet的优缺点:
我们知道,在Servlet中通过response的response.getWriter().print(“<html>”)方法向浏览器端响应的,那么可以通过该方法向浏览器响应回一个HTML文件。这样来说,Servlet相对于JSP和HTML就有了以下优缺点:
缺点:不适合设置HTML响应体,需要大量的response.getWriter().print(“<html>”);
优点:相对于HTML来说,Servlet是动态资源,可以编程;
- HTML的优缺点:
HTML是静态资源,浏览器可以直接显示。相对Servlet和JSP来说,它就有以下优缺点:
缺点:HTML是静态页面,不能包含动态信息;
优点:由于浏览器可以直接显示,不用为输出HTML标签发愁;
- Jsp的优点:
由于jsp本身也是一个Servlet,而且又包含了HTML标签,所以jsp可以说是结合了Servlet和HTML的优点。
3.JSP与Servlet的分工
在之前的开发中,由于JSP文件中也可以书写Java代码,有一段时间JSP取代了Servlet,JSP不仅用来显示数据,还用来处理数据,这种开发模式,我们称之为Model1模式,但是它不属于MVC模式,如图1-1所示:
图1-1 Model1
这种模式适合小型的web项目开发,而且对Java web开发人员的技术水平要求不高,但是它也有以下缺点:
- HTML标签与Java代码耦合在一起,导致页面设计与逻辑处理无法分离;
- 可读性差,调试困难,不利于维护;
- 功能划分不清。
而现在开发中已经很少使用此种开发模式,现在jsp就是用来显示数据,而数据的处理交给了Servlet来处理,这样Model1模式的缺点都可以避免了。下面我们来看一下JSP与Servlet是如何分工的:
JSP:
- 作为请求发起页面,例如:显示表单,超链接;
- 作为请求结束页面,例如:显示数据。
Servlet:
- 作为请求中处理数据的环节
下面通过一张图来详细了解Servlet与JSP的分工,如图1-2所示:
图1-2 jsp与Servlet分工图
图1-2中,当点击form.jsp页面中的“提交”按钮,就发送一个请求给Servlet,当Servlet处理好数据,就请求转发给result.jsp。在result.jsp页面显示处理后的数据。
其实,我们可以理解jsp页面就是一个餐厅的服务器员,jsp就是为顾客提供菜单,然后由顾客来选择,Servlet就相当于餐厅里的厨师,Servlet处理好顾客的请求,然后交给服务器,由服务器员将请求结果呈现给顾客。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/java/253170.html