1:servlet是服务器端的程序,动态生成html页面发到客户端,但是这样
程序里有许多out.println(),java和html语言混在一起很乱。所以
后来推出了jsp。其实jsp就是servlet,每一个jsp在第一次运行时被
转换成servlet文件,再编译成.class来运行。
有了jsp,因此在MVC模式中servlet不再负责生成html页面,转而担任
控制程序逻辑的作用,控制jsp和javabean之间的流转。
JSP先编译成SERVLET然后再编译成CLASS文件
JSP-----SERVLET-----JAVA文件---CLASS
2:JSP通过WEB容器编译成Servlet,再转化为.class文件
JSP是servelt的扩展,是由Servlet演变而来~~~~~
JSP ---------VIEW
SERVLET-------CONTROLLER
3:jsp和servlet的区分是具体到MVC模式的出现而越发清晰的,在这个设计模式下:
jsp主要负责显示层,不负责业务逻辑的实现,即view
servlet里主要负责业务流程的控制,即controller
而数据模型一般通过javaBean和java类来封装。
4:Jsp是要先编译成servlet才执行的,但这里面还是有很多差别的,比如:Jsp主要是负责客户端的表现和与后台servlet的连接,而servlet实现的是事务处理和与数据库的连接,功能定位有很大的区别。Jsp是与Asp同类的动态网页开发 技术 ,而servlet实际上现在是采用了JavaBean组件技术的具体表现形式,可以将servlet或者更具体点说是JavaBean与ActiveX和Com/Dcom等并列,但绝对不能将它与Asp并列的。
5:Servlet:java包HTML
JSP:HTML包java
6:servlet 是纯java,在.java文件中输出http的标记语言
而jsp是在标记语言中嵌入java语句
在实际工作中jsp在第一次被call的时候被web server编译成servlet,并且储存在缓冲区中,以后再请求,就直接调servlet,这样来提高速度
7:servlet API 是一个具有跨平台特性,纯java的server-side
程序
,它对应于在client 端执行的java applet.
jsp(java server pages)是由sun microsystems 公司倡导,许多公司参与一起建立的一种新动态网页技术标准,类似其他技术标准,如asp,php 是server-side scripting language.
sun公司首先发展出servlet,其功能非常强大,且体系设计完善,但是他输出html语法时,必须使用out.println()一句一句输出,例如:
out.println("<html>");
out.println("<head><title>demo</title></head>");
out.println("hello world<br>");
out.println("大家好“);
out.println("</body>");
out.println("</html>");
这段程序比较小,所以看起来不是很复杂,但是当网页很复杂时,这种方法就不方便了。
下面一段是jsp:
<html>
<head><title>demo</title></head>
<body>
<%
out.pritnln("hello world<br>");
out.pritnln("大家好");
%>
</body>
</html>
这样简化了web网页设计的负荷.