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并进行整合,等于没学。

解决方案 »

  1.   

    jsp也是被编译成servlet才能在服务器端解析的。
      

  2.   

    JSP+Bean 或者 JSP+Tablib都挺不错,特别是JSP2.0支持EL和jstl1.1,很像脚本语言,逻辑处理和表示层可以很好的分开,很像PHP中的模板处理,呵呵
    SUN也推出了一个脚本语言"groovy"(http://groovy.codehaus.org/)不知道有没人使用过?
      

  3.   

    JSP先被编译成SERVLET,然后执行
      

  4.   

    JSP先被编译成SERVLET,然后执行
      

  5.   

    JSP先被编译成SERVLET,然后执行
      

  6.   

    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 页面的第一次请求时发生。 
      

  7.   

    我也来说一遍:
    JSP先被编译成SERVLET,然后执行
      

  8.   

    MVC结构
    M---javabean
    V---JSP
    C---SERVLET