因为Servlet对于HTML页面的处理能力不是特别强!!Servlet擅长于处理后台的业务逻辑。
所以为了使用J2EE这个体系架构得到更广泛的应用,所以Sun公司推出了JSP,使得页面的展现使用JSP,而后台的数据的逻辑处理使用Servlet来处理数据。

解决方案 »

  1.   

    按你的想法也行,如果你愿意在servlet里out.print出整个页面 
      

  2.   

    对于第一个问题,在JSP中编写静态HTML更方便,不必再用println语句来输出每一行HTML代码,如果你熟悉mvc的话,servlet更多的是充当控制器这一角色,而jsp则充当视图角色
    第二个问题,调用JSP页面时,首先会将它编译成一个Java servlet。这时servlet引擎处理该servlet,就像处理其他servlet一样。然后servlet引擎加载servlet类并执行它创建动态HTML发送给浏览器.下次请求该页面的时候,JSP引擎执行早就装载的servlet除非JSP页面早就更改,在这种情况下,会将它自动重新编译进一个servlet中并执行
      

  3.   

    那也就说JSP容器是处理页面显示的,至于显示什么数据,怎么显示都是丢给Servlet来处理???还有,实现动态页面显示这样是JSP容器还是Servlet容器,给我感觉Servlet是静态页面,不知道对不对???
      

  4.   

    怎么是Servlet将HTML发送个浏览器啊????好晕!!!Jsp交给Servlet有它加载,处理,响应后,Jsp容器又接受这个响应对象,并由Jsp容器发送给客户端.这是孙鑫的<<JAVA WEB开发祥解>>书里讲到的,,,为什么又说是由Servlet容器发送给客户端呢????纳闷!!!!!!!
      

  5.   

    不知道你对动态页面和静态页面是怎么理解的。对于servlet和jsp的相关知识你可以在网上找一下。
      

  6.   

    能介绍一下JSP和SERVLER的哪个视频好吗???或者书也可以??
      

  7.   

    JSP里不有掉转等这些动作吗?我认为这就是一种动态呀!!其实还是有点迷惑啊,,,请多给点指教,,谢谢!!!
      

  8.   

    我们的教程比较浅显http://family168.com/tutorial/jsp/html/jsp-ch-06.html
      

  9.   

    没有什么视频,你并不需要知道这么多,你只要用就会慢慢体会了。。
    servlet起的是控制层的作用,你不能因为他有jsp的功能就不用它吧,而JSP为什么要变成servlet呢?servlet本身就是个JAVA类,JSP不变成JAVA类,变成CLASS,怎么执行?JSP在页面给用户来看,配合HTML标签或者别的标签来得到一些东西,也要有处理数据的功能吧?
    为什么以前JSP做网站怎么不用servlet,而只有一层呢,分层思想还是要了解一下。
    SERVLET完全可以OUT出来一个页面,XML文本也可以,JSP中也OUT对象,也可以OUT出来JSP页面。。不知道你怎么理解
    额,,慢慢理解就好了
      

  10.   

    其实主要两个侧重点根本就不一样啊,jsp是表现层,而servlet是服务器端小程序。。两个出发点就不一样,为了实现的功能也是不一样的
      

  11.   

    jsp对html支持比servlet灵活.就这么简单.知道这个就可以了.
      

  12.   

    JSP当然可以实现动态了,有程序攻击就可以实现动态页面
      

  13.   

    jsp最终还是生成SERVLET,还是用out出整个页面的
      

  14.   

    jsp 的底层就是servlet 
    jsp 是servlet 的升级的版本,优点在于更能很好的在表现层发挥作用。
      

  15.   

    一个表现层一个控制层 两个侧重点不一样
    JSP在服务器中是被编译成servlet文件的 你可以看看 tomcat下面的work下的工程
    JSP做表现更容易
      

  16.   

    其实是先有的servlet后有的jsp
    因为用servlet太烦琐,所以就发明了jsp
      

  17.   

       如果用MVC模式的话,两者的区别就很容易理解了,我刚开始学Jsp也是不理解
      

  18.   

    学习中也来凑凑热闹
    呵呵
    jsp作为视图层比servlet容易的多
    servlet是在后台处理客户端提交的数据(request)以及从服务器端返回给浏览器(response)
    servlet视频教程
    我推荐韩顺平的"servlet八讲"
    围绕一个实例来讲容易接受
    [email protected]
    没事时一起交流交流学习
      

  19.   

    其实你现在根本不需要了解那么多,你现在只要知道servlet通常是处理业务逻辑的,而jsp是把servlet处理过后的结果显示给用户看的,其他的你在以后使用过程中慢慢就会体会出来的。
      

  20.   

    我有点小小的学习经验来说说:学习jsp,servlet,javabean它们之间的问题,和关系,没有什么东西可以讲的,别人讲了,你也不是很清楚,会越说越复杂.
    别听那么多,也别想那么多.找个小小的项目例子,一个字母一个字母的打,然后再运行.把这个过程走过来了.你就会发现,你对这三个大哥的理解已经基本清楚了.这就是最好的学习方法了.这是j2ee的一些基础,都搞好了,再去研究一些strus,H,
    等一些好的框架,那时候学习起来,就顺理成章了.也很快的能理解上手.这是一个过程,走过来了,你就是成功者!
    万事开关难,走好了这一步,就可以了!
      

  21.   

    既然是初学者,大家不要用那么专业的语句去给别人解释LZ只要这样想,JSP的本质就是一个SERVLET,因为在服务器中,当请求a.JSP页面的时候,服务器会将a.jsp编译成.class来执行,其实也就跟请求一个servlet是一样的
    两个东西的区别就是jsp页面专注于显示servlet转发过来的信息,而servlet专注于控制业务流程,说白了就是jsp是用来看的,servlet是数据库与JSP页面之间的传送员,虽然我这样说有点不准确,但是希望可以帮助你理解这两个东西
      

  22.   

    你可以这么想:jsp是写好的SERVLET,当你访问。JSP的时候,,就是访问SERVLET,,jsp把你的工作简化了
      

  23.   

    学一下MVC模式,jsp主要负责页面的展示(M),而servlet(C)主要负责控制页面的跳转,处理一些业务逻辑,然后结果转发给页面展示。
      

  24.   

    jsp(.jsp)其实是一个servlet(.java),客户端首次访问jsp(.jsp)时,jsp容器会将它转换成servlet(.java),再把这个servlet(.java)编译成class(.class),最后进行实例化...以上的转换和编译、实例化过程,是在jsp容器进行的,其实jsp容器也就是servlet容器
    如果你用的是tomcat,你可以在以下目录找到转换后的.java文件,和编译后的.class文件
    你的tomcat根目录\work\Catalina\localhost\你的web应用名称\org\apache\jsp假如你有一jsp文件为index.jsp,那么你可以在这个目录找到对应的index_jsp.java,index_jsp.class
      

  25.   

    楼主先理解一下动态的概念。 动态就是能有数据交互,动态的从后台读取资源,并能将用户在前台的请求持久化。如果没有交互, jsp  就跟 html 一样,就是静态网页。 jsp 是表现层展示模式,加载后被编译成 servlet 。 建议楼主看一下编译后的 java 文件。 整个页面是用 out 输出的。
      

  26.   

    找个jsp编译成servlet java文件看看你就知道为什么了,全是t m 的out,这样写网页要死人的。
      

  27.   

    jsp其实就是个servlet
    如果你愿意的话,你也可以在jsp页面里面写java代码,也可以在servlet中写html代码..
    只不过它们偏重方向不一样,jsp偏重于显示,就是给用户展示的页面,servlet偏重于控制,接收数据、处理数据和响应数据。
      

  28.   

    呵呵,楼主给你个视频教程...
    http://www.17edu8.cn/blog/health/297.html
      

  29.   

    去看有JSP生成的.java文件,你多少能理解一些机制
      

  30.   

    jsp和servlet只是在编写时不同,
    在执行时都是相同的,
    服务器会将jsp编译成servlet来执行。
    还是建议楼主去看看work目录下面的jsp编译后的.java文件,看了后你就会明白了。
      

  31.   

    偶也是JSP初学者,各位的回复让偶增长不少知识,谢谢各位!~~~
      

  32.   

    简单来说,jsp对于表现层来说比servlet的代码更容易理解.
      

  33.   

    多用几次,找几个例子写写就能理解了,特别是到了MVC里面,struts框架
      

  34.   

    你写几个MVC的例子就什么都明白了
      

  35.   

    SERVLET就是把页面包含在了JAVA代码中.而JSP是把JAVA代码包含在了页面中.他们分开来做都可以实现一些功能.但是会很麻烦.你可以想像一个SERVLET中包括大量的HTML代码需要SYSTEM.OUT出来是什么样子.所以就把他们分开来做.SERVLET去做业务逻辑.而JSP负责展示.这样不但简化了复杂的代码.而且可以对程序做到更好的控制.如果需要修改业务逻辑.只需要修改SERVLET.如果需要修改展示.只需要修改JSP就行了.
      

  36.   

    JSP的本质就是Servlet,只不过JSP在处理HTML页面时更为方便和容易理解,所以JSP普遍用在显示层(View Layer)中;
    而Servlet主要提供了处理HTTP请求和响应的方法,因而更适合程序逻辑方面的处理,即对应于MVC中的控制层(Control Layer);
    两者都是运行在Servlet容器中的程序,而且最终都是被编译为字节码文件进行运行的,但是在此之前容器对两者的处理方式并不一样。
    建议楼主先把Servlet的基本知识学明白了再深入学习JSP,之后再学习一下MVC模型,这样基本上就OK了。
      

  37.   

    是很热闹哈,我也来说说个人观点吧...起初对这两个概念也不是很明白,后来了解了MVC三层开发模式之后,渐渐的理会了servlet&jsp之间的关系...其实,从实质上来讲,jsp本身也是一个servlet,为什么这么说呢? 可以去试着我们发布好的工程下面去找一个work的临时目录,里面会有你的工程,在往里面,可以找到你的那些jsp页面...这时你会发现,他们己经不是页面了,而是一个个的servlet,由它们来输出整个页面.....至于为什么分jsp和servlet,是因为在经过了多年的总结之后,这些前辈们发现,serlvet更适合做服务器端,来处理用户的各个请求,而jsp更适合于编写web页面....将他们独立开来,jsp只作显示数据而用,servlet只作处理请求...外加上我们自己再写一个专门处理业务的层...这样就可以分层开发了....至于分层开发的好处,呵,自己领会吧.....:)真不知道的话可以去GOOGLE一下...就说这些吧,希望对楼主有用....:)
      

  38.   

    其实如果从java历史来理解可能就会容易很多了
    一开始先有servlet,后来为了更加方便设计出现jsp,
    处理jsp时容器首先会把它转换成servlet,(你可以在tomcat的work目录下面看到这样的痕迹)
    后面的处理方法跟servlet一样!
    至于上面说的mvc,我认为是后来才提出来的!!
    我想即使不使用jsp,你一样可以做出mvc的实现出来!
      

  39.   

    挺热闹的,我说几句,供发贴者参考:
    jsp是servlet的升级版,而不是说谁是视图层,谁又是控制层;
    因为jsp也可以当控制层(如:mode1模式(MVC前的经典),当时没有MVC,开发当中,全是jsp,既做视图也可以接受参数,分发转向,即:jsp可以做控制层),
    servlet也可以当视图层(servlet可以做视图,这是他的缺点,也是jsp产生的主要原因,如:当servlet做视图展现时是这样:out.print("<html><head><title>aa</title></head><body>这是视图层</body></html>"););
    不好看,也不好用吧,所以jsp产生了,
    你们所谓的jsp是视图,servlet是控制层,那是mode2模式(mode2它初步有了MVC的观念),mode2在开发中,它抛去了jsp与servlet的缺点,吸取它们的优点,jsp与html比较友好,jsp内直接可以用html,所以jsp就冲当视图层,
    servlet里面封装了doGet(),doPost()方法,在接收参数、分发、转向方面比较好,就冲当控制层,这就是有了jsp之后,mode2模式的由来。
    现在虽说用到了框架如:struts,由它冲当控制层,但它的action继承的也是一个servlet。
      

  40.   

    jsp可以用来美化你的页面,用out.println()中加html标签创建页面,然后提交给相应的servlet!
      

  41.   

    因为jsp入门要求更低,要写SERVLET就要会写java,但jsp不是,会写HTML就行了