JSP和Servlet有什么区别吗?

pchobby 2004-09-06 09:52:14
Servlet是编写在服务器端运行的程序,JSP是和ASP那样的吗?是编写动态网页的吗?
现在和迷茫,学习JAVA一段时间了,对JAVA有了一定的了解,但JAVA的优势是在J2EE上,学习应该是一个怎样的顺序,先是Servlet----JSP----EJB,可是对J2EE不太了解。
请高手帮我!
...全文
510 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
makay 2004-09-07
都说完了,你可搜索一下就方面资料啊。
回复
wwuyd 2004-09-07
MVC结构
M---javabean
V---JSP
C---SERVLET
回复
Ronanljy 2004-09-07
我也来说一遍:
JSP先被编译成SERVLET,然后执行
回复
apicescn 2004-09-07
filippo1980(管振宇★我爱刘蓓丽) 这位仁兄说得非常之精僻!很好!我全力支持,我想补充的是对于jsp用于做展示层与ASP来做的最大的区别在于 :
JSP 与 Microsoft 的 ASP 技术非常相似。两者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。在 ASP 或 JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 和 JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 和 JSP 都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。
ASP 的编程语言是 VBScript 之类的脚本语言, JSP 使用的是 Java ,这是两者最明显的区别。此外, ASP 与 JSP 还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在 ASP 下, VBScript 代码被 ASP 引擎解释执行;在 JSP 下,代码被编译成 Servlet 并由 Java 虚拟机执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。
回复
zhonghua1983 2004-09-07
JSP先被编译成SERVLET,然后执行
回复
jiankou2001 2004-09-07
JSP先被编译成SERVLET,然后执行
回复
wandou999 2004-09-07
JSP先被编译成SERVLET,然后执行
回复
redhatcn 2004-09-07
JSP+Bean 或者 JSP+Tablib都挺不错,特别是JSP2.0支持EL和jstl1.1,很像脚本语言,逻辑处理和表示层可以很好的分开,很像PHP中的模板处理,呵呵


SUN也推出了一个脚本语言"groovy"(http://groovy.codehaus.org/)

不知道有没人使用过?
回复
bluesky35 2004-09-06
jsp也是被编译成servlet才能在服务器端解析的。
回复
精辟!
回复
minghuitian 2004-09-06
上面仁兄说的很好呀!
回复
htl 2004-09-06
楼上讲的太对了!!
回复
filippo1980 2004-09-06
JSP主要关注于HTML(或者XML)与Java代码的结合,以及加入其中的JSP标记。一个支持JSP的服务器遇到一个JSP页面,它首先查看该页面是否被编译成为一个servlet。所以,当JSP被编译成servlet,即被转变为纯Java,然后被装载入服务器执行。但也会根据不同的服务器有所不同

  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,实现两层的整合。


  其实,SERVLET是一个不完善的产品,写business layer很好,写presentation layer就很逊色许多了,并且两层混杂。所以,推出JSP+BAEN,用JSP写presentation layer,用BAEN写business layer。

  最后学了JSP,如果不会用JAVA BEAN并进行整合,等于没学。
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-06 09:52
社区公告
暂无公告