jsp servlet之间的关系
2014-06-07 09:41
274 查看
servlet是纯java,在.java文件中输出http的标记语言
而jsp是在标记语言中嵌入java语句
可以这样理解
jsp :用html包住java
servlet:用java包住html
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网页设计的负荷。
JSP与servlet之间的关系
JSP主要关注于HTML(或者XML)与Java代码的结合,以及加入其中的JSP标记。如果一个支持JSP的服务器遇到一个JSP页面,它首先查看该页面是否被编译成为一个servlet。由此
可见,JSP被编译成servlet,即被转变为纯Java,然后被装载入服务器执行。当然,这一过程,根据不同的JSP引擎而略有不同。
JSP和servlet在应用上的区别
简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。
后来SUN推出了类似于ASP的嵌套型的JSP,把JSP TAG嵌套到HTML语句中,这样,就大大简化和方便了网页的设计和修改。新型的网络语言如ASP,PHP都是嵌套型的。
从网络三层结构的角度看,一个网络项目最少分三层:data layer,business layer,,presentation layer。当然也可以更复杂。
SERVLET用来写business layer是很强大的,但是对于写presentation layer就很不方便。JSP则主要是为了方便写presentation layer而设计的。当然也可以写business layer。
写惯了ASP,PHP,CGI的朋友,经常会不自觉的把presentation layer和business layer混在一起。比如把数据库处理信息放到JSP中,其实,它应该放在business layer中。
根据SUN自己的推荐,JSP中应该仅仅存放与presentation layer有关的部分,也就是说,只放输出HTML网页的部份。而所有的数据计算、数据分析、数据库联结处理,统统是属于
business layer,应该放在JAVA BEANS中。通过JSP调用JAVA BEANS,实现两层的整合。
为什么要采用这些组件技术呢?因为单纯的ASP/JSP语言是非常低效率执行的,如果出现大量用户点击,纯SCRIPT语言很快就到达了他的功能上限,而组件技术就能大幅度提高功能
上限,加快执行速度。
另外一方面,纯SCRIPT语言将presentation layer和business layer混在一起,造成修改不方便,并且代码不能重复利用。如果想修改一个地方,经常会牵涉到十几页CODE,采用
组件技术就只改组件就可以了。
综上所述,SERVLET是一个不完善的产品,写business layer很好,写presentation layer就很逊色许多了,并且两层混杂。所以,推出JSP+BAEN,用JSP写presentation layer,用
BAEN写business layer。SUN自己的意思也是将来用JSP替代SERVLET。
对于复杂的应用,应该采用ENTITY BEAN实现数据存取层,SESSION BEAN实现业务逻辑层,用JSP来调用SESSION BEAN,由SESSION BEAN调用ENTITY BEAN。即采用JSP+EJB来构建一
个复杂的分布式系统。它比JSP+BEAN具有更高的吞吐量,可靠性,安全性。综上所述,对简单应用,可采用JSP+BAEN,对复杂的应用系统,应采用JSP+EJB,SERVLET变的无足轻重
。用JSP完全可替代它。当然不要忘记structs阿:)
据建议的参考书:
java核心技术卷 上下
jsp2.0 技术手册
而jsp是在标记语言中嵌入java语句
可以这样理解
jsp :用html包住java
servlet:用java包住html
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网页设计的负荷。
JSP与servlet之间的关系
JSP主要关注于HTML(或者XML)与Java代码的结合,以及加入其中的JSP标记。如果一个支持JSP的服务器遇到一个JSP页面,它首先查看该页面是否被编译成为一个servlet。由此
可见,JSP被编译成servlet,即被转变为纯Java,然后被装载入服务器执行。当然,这一过程,根据不同的JSP引擎而略有不同。
JSP和servlet在应用上的区别
简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。
后来SUN推出了类似于ASP的嵌套型的JSP,把JSP TAG嵌套到HTML语句中,这样,就大大简化和方便了网页的设计和修改。新型的网络语言如ASP,PHP都是嵌套型的。
从网络三层结构的角度看,一个网络项目最少分三层:data layer,business layer,,presentation layer。当然也可以更复杂。
SERVLET用来写business layer是很强大的,但是对于写presentation layer就很不方便。JSP则主要是为了方便写presentation layer而设计的。当然也可以写business layer。
写惯了ASP,PHP,CGI的朋友,经常会不自觉的把presentation layer和business layer混在一起。比如把数据库处理信息放到JSP中,其实,它应该放在business layer中。
根据SUN自己的推荐,JSP中应该仅仅存放与presentation layer有关的部分,也就是说,只放输出HTML网页的部份。而所有的数据计算、数据分析、数据库联结处理,统统是属于
business layer,应该放在JAVA BEANS中。通过JSP调用JAVA BEANS,实现两层的整合。
为什么要采用这些组件技术呢?因为单纯的ASP/JSP语言是非常低效率执行的,如果出现大量用户点击,纯SCRIPT语言很快就到达了他的功能上限,而组件技术就能大幅度提高功能
上限,加快执行速度。
另外一方面,纯SCRIPT语言将presentation layer和business layer混在一起,造成修改不方便,并且代码不能重复利用。如果想修改一个地方,经常会牵涉到十几页CODE,采用
组件技术就只改组件就可以了。
综上所述,SERVLET是一个不完善的产品,写business layer很好,写presentation layer就很逊色许多了,并且两层混杂。所以,推出JSP+BAEN,用JSP写presentation layer,用
BAEN写business layer。SUN自己的意思也是将来用JSP替代SERVLET。
对于复杂的应用,应该采用ENTITY BEAN实现数据存取层,SESSION BEAN实现业务逻辑层,用JSP来调用SESSION BEAN,由SESSION BEAN调用ENTITY BEAN。即采用JSP+EJB来构建一
个复杂的分布式系统。它比JSP+BEAN具有更高的吞吐量,可靠性,安全性。综上所述,对简单应用,可采用JSP+BAEN,对复杂的应用系统,应采用JSP+EJB,SERVLET变的无足轻重
。用JSP完全可替代它。当然不要忘记structs阿:)
据建议的参考书:
java核心技术卷 上下
jsp2.0 技术手册
相关文章推荐
- 简谈HTML、CSS、JavaScript、Ajax、WML、Servlet、Jsp、FreeMarker、Velocity、Webmacro是什么,以及之间的关系!
- JSP如何与数据库交互?即JSP与后台Servlet之间的关系,如何交互
- Java Web笔记 – JSP的工作原理介绍 Servlet与JSP之间的转换关系
- JSP九大对象与Servlet对象之间的对应关系
- 一句话理解 之 servlet jsp页面 Dao javaBean 之间的逻辑关系
- Servlet,filter, struts,jsp之间的关系
- JSP学习 —— 开篇:JSP,servlet容器,Tomcat,servlet容器之间的关系
- JSP学习 —— 开篇:JSP,servlet容器,Tomcat,servlet容器之间的关系
- JSP、Servlet、JavaBean三者之间的关系实例
- Java Web笔记 – JSP的工作原理介绍 Servlet与JSP之间的转换关系
- Tomcat和Servlet-JSP-Java版本之间的关系
- 初学者对Servlet、JSP及Web容器之间关系的理解
- Tomcat,Servlet,JSP之间是什么关系?
- jsp,java bean, servlet之间的关系
- jsp和servlet之间的关系+示例入门
- JSP,servlet容器,Tomcat,servlet容器之间的关系
- JSP学习 —— 开篇:JSP,servlet容器,Tomcat,servlet容器之间的关系
- JSP学习 —— 开篇:JSP,servlet容器,Tomcat,servlet容器之间的关系
- javaweb相关知识 servlet+jsp+dao之间的关系
- JSP学习 —— 开篇:JSP,servlet容器,Tomcat,servlet容器之间的关系