我新学Jsp/Servlet,由于servlet主要用于实现业务层的工作,但是,Jsp运行时,Jsp引挚先将Jsp页面翻译成servlet(.java),问:
1:servlet的高效率性是不是表现在JSP引挚不用将JSP翻译成servlet,而直接运行servlet,在这个环节剩时间?(20分)
2:servlet和JavaBean的作用差不多,但JavaBean的编写明显比servlet方便,为什么还用servlet?(20分)
3:反正JSP引挚都会把JSP页面翻译成Servlet文件,那还用我们遍它干什么,写JSP文件就好呗,让JSP自己翻译呗。(我认为servlet比JSP写起来要麻烦,代码太多,让我无从下手)。(20分)
感受:我写servlet的时候无从下手,想去找些servlet的书,但是大多书介绍servlet的方面的太少了,希望有JSP/Servlet这方面的高手,能说说你们在学servlet的时候怎么学的,给点建议或者你自己的对servlet看法。(如果你今天心情好就多说点,分嫌少再加)(40分)

解决方案 »

  1.   

    jsp也会被web container编译的,速度上是差不多的,而servlet通常是被作为controller来使用的
    也就是接收并处理用户输入,同时将jsp和javabeans解耦
      

  2.   

    servlet extends HttpServlet是作为一个组件出现的
    也就说web container将用户请求通过web.xml配置来发送给servlet
    但javabean是不能接收url请求的
      

  3.   

    1.是的,只有在第一次一个jsp文件被请求的时候jsp容器才会解释jsp为servlet,并且编译成class文件。所以servlet高效2。servlet -> serv(er) let 指的是服务器端的小程序。javaBean是指符合javabean编写规范的java类,作用不同,服务器端可以间接的使用bean,但是不能替代servlet3。等下面的弟兄补充1,2,3
      

  4.   

    1:servlet的高效率性是不是表现在JSP引挚不用将JSP翻译成servlet,而直接运行servlet,在这个环节剩时间?(20分)
    ----------------------------------
    JSP一定是被翻译成servlet才能有高的性能,如果拿JSP源码来解释执行,效率将会很低的。ASP就是直接用源码解释执行的。
    2:servlet和JavaBean的作用差不多,但JavaBean的编写明显比servlet方便,为什么还用servlet?(20分)
    -----------------------------------
    二者是不同的,Bean是组件,无法与客户端浏览器交流,而servlet可用与生成页面,不用bean倒是有可能的。3:反正JSP引挚都会把JSP页面翻译成Servlet文件,那还用我们遍它干什么,写JSP文件就好呗,让JSP自己翻译呗。(我认为servlet比JSP写起来要麻烦,代码太多,让我无从下手)。(20分)
    -----------------------------------
    完全可以。
      

  5.   

    1、sp引挚先将Jsp页面翻译成servlet。
    2、JavaBean是带有属性和方法的类,它跟类的区别就是没有主函数。
    3、Servlet使用两个包中的类和接口:
       javax.servlet;   javax.servlet.http
       特别是第二个包可以看出Servlet是具有网络通信功能的。
       简单的说,javabean不会有request和response的。
      

  6.   

    资料的话一般就看j2ee Tutorial,足够了
    如果涂个方便,就买一本Tomcat Java Web开发技术祥解,看看还凑合
    其实jsp/servlet/javabean分别对应MVC中的VIEW,CONTROLLER,MODEL
    是面向对象的结果
    如果你用过asp就会体现到这一架构的优越性了
      

  7.   

    1,servlet的优越性是相对与传统的CGI程序来说的.它是每次在接受到请求时候创建一个线程来服务的.
    2,servlet和javabean是两回事情.前者作为一个服务器端的程序来扩展web server的功能.后者是一个普通的java类.当然,它必须遵循一定的规范.它在服务器端程序中作为存贮数据,或执行business logic.servlet其实在struts中,你会知道它可以作为一个控制器来导向请求的动作.
    3,servlet是一个服务器端的类,你应该先了解一般的java知识和web编程的基础知识,象http规范只类的知识.一般的很少直接写servlet类.
      

  8.   

    servlet就是jsp   jsp就是servlet  jsp能完成的功能servlet都能完成,但是servlet的功能不仅仅是这些.servlet在mvc三层模式中起controller(控制器)的作用,所有的请求都被提交到servlet,然后由servlet进行转发,分配到各个模块进行处理
      

  9.   

    三层或多层的架构中,servlet与bean是中间的逻辑层。bean是组件,servlet是控制器。jsp是表示层的东东!!
      

  10.   

    我的理解,如有错误,希望指正。javabean是模型(model),jsp是视图(view),servlet是控制器(controller),javabean实现业务逻辑,jsp显示结果,servlet控制javabean的调用和页面的跳转
      

  11.   

    权威回答,其他的贴子就不用看了,我是IBM认证教师:
    问题一:servlet的高效率性是不是表现在JSP引挚不用将JSP翻译成servlet,而直接运行servlet,在这个环节剩时间?
    回答:高效率不是这样来讲的,servlet都是错console层来处理的,就是匹配jsp和对应的javabean,ejb,把jsp的请求让谁来做,是javabean还是ejb等,这些类做完后的结果再传给jsp,这才是servlet真正的作用,而jsp不做任何处理只是显示数据,因此jsp是view层,而javabean和ejb就是module层,这个就是MVC的概念!!!大家的分工不同,当然效率高了,否则什么都做,哪来的效率啊!问题二:servlet和JavaBean的作用差不多,但JavaBean的编写明显比servlet方便,为什么还用servlet?
    回答:还是刚才说到的servlet是调用javabean的,而javabean可以被封装成包的,这样就能通用了!!在servlet应该不能还有逻辑运算的,都要在javaben或ejb里完成问题三:反正JSP引挚都会把JSP页面翻译成Servlet文件,那还用我们遍它干什么,写JSP文件就好呗,让JSP自己翻译呗
    回答:jsp里如果有一大堆的代码,首先html和java代码混在一起比较难理解,其次对于调试也很头痛,所以jsp里最好不要出现<%%>,实在要出现的话就用tablib来表示,页面也干净的多,而封装到javabean里的代码可以预先测试一下,正确的话,直接放到jsp里就行了,简化了开发难度!!问题四:我写servlet的时候无从下手,想去找些servlet的书,但是大多书介绍servlet的方面的太少了,希望有JSP/Servlet这方面的高手,能说说你们在学servlet的时候怎么学的,给点建议或者你自己的对servlet看法。(如果你今天心情好就多说点,分嫌少再加)
    回答:综上所述,你先要理解MVC的概念,这样你就不会无从入手了,多多努力!!!!
      

  12.   

    这是我在csdn上的第一帖。
    问题一:servlet的高效率性是不是表现在JSP引挚不用将JSP翻译成servlet,而直接运行servlet,在这个环节剩时间?
    回答:基于这个问题,有以下几点需要知道。第一首先是有servlet的,它是java语言开发web服务器端的核心组件,EJB是业务逻辑模块,在应用服务器上运行的。第二,既然是web服务器端的核心组件,那么首要的需求是可以很好的向客户端动态的返回信息。于是早期的servlet里面都是很多的HTML编码。但是毕竟那是一个java类,根本不适合做展示。于是就基于servlet开发了jsp技术。可以嵌入java代码,但它不是jc,它里面的java代码总得要编译运行的,这样就肯定要容器来管理jsp,这样jsp必然要转换成servlet,转换后,它也就是一个servlet,只是方便了开发人员的基于servlet的展示编码。至于效率,没有任何的问题,编译是预编译,开发时,看到的jsp,那只是为了方便你开发而已,服务器对jsp的管理是基于jsp转换成的servlet类。它不是由客户端驱动运行时编译的,而是预编译好的。第三,servlet它是什么东西呢?其实它一点都不难写,由于jsp的出现,现在说的servlet一般都是作为控制器来使用。也就是说servelt首先处理客户端的请求,然后或者直接向客户端返回页面,或者调用运行在应用服务器中的业务逻辑ejb,然后再返回相应页面。说到servlet,必然需要提到servlet容器,容器是个什么玩意呢?容器的出现,让初学者觉得很麻烦,但是一旦掌握之后,那就会觉得容器帮你做了很多的事情,很方便。容器其实也就是一堆的java类,帮你实现了很多基本的功能。写过servlet,都知道它必须要继承一个类,也就是那个继承类帮你隐藏了一堆的功能。然后你从servlet本身出发,看看它帮你实现了什么呢?起码的,网络传输层面的功能全部实现了等等。在这里再一次提醒一下,容器是服务器概念,常说的tomcat服务器,其核心就是实现了servlet和jsp容器。然后具体的这个容器是如何管理servlet的,这里就不说了。
      

  13.   

    问题二:servlet和JavaBean的作用差不多,但JavaBean的编写明显比servlet方便,为什么还用servlet?
    回答:作用差不多?呵呵,这样吧,让我们抛弃servelt和servlet容器,再来用单纯的javabean开发一个web项目,你想想,你的javabean首先要处理什么功能呢?基于HTTP的socket,胖客户端的多线程管理。也就是说你要先实现一个类似于web服务器的功能,然后紧耦合到你的应用系统中。如果你乐意并且同时你是大牛,那随你。但这几乎是一项毫无意义的事情。所以这个问题基本上是问的不好。再从开发人员的专业知识来看,web系统的开发者的核心知识应该是设计更好的业务逻辑,也就是ejb了,而不是发太多的时间在网络传输层面。用servelt,那就首先需要搞清楚它是做什么的。它是java语言的web服务器端的核心组件,web服务器是什么个概念呢?从字面上看也知道它的核心功能,接收和处理基于HTTP客户端的请求,那么接收和处理两个方面分别是什么呢?我只简略的说一下,接收,是通过url的,所谓的请求,是客户端传输过来的参数。url和参数名都是在jsp文件中的,这样,你可以去熟悉一下jsp了,至于url怎么就调用到了服务器中的某个servlet,主要是取决于不同的web服务器了。参数可以在客户端中通过jc先过滤一下,也就是嵌在页面中的运行在ie里面的jc了。处理呢?servlet会很容易的取到参数,然后判定参数来决定调用什么ejb来执行。执行结果会返回在servlet中,然后servlet会判定结果,来决定调用什么jsp来返回。这里看以看到servlet的位置了,耦合业务逻辑和展示层。而servelt更是体现在servlet容器,它的存在,让你很简单的就可以写出一个servlet。
      

  14.   

    问题三:反正JSP引挚都会把JSP页面翻译成Servlet文件,那还用我们遍它干什么,写JSP文件就好呗,让JSP自己翻译呗
    回答:这个问题也不怎么好,但是同时说了一个事实,jsp完全可以代替servlet,因为它就是一个servlet,之所以jsp技术,是因为让开发者更好的做view层面。这样说jsp和servlet还是有不同点的,在这里说一下,servlet比jsp伟大多了,jsp只是基于servlet而已,这其中就是多一个引擎而已。所以你的问题应该反过来问,是为什么还要jsp?实质上是servlet可以完全替代jsp的,只要你愿意把一堆的html编码放在你的servlet类中。然后要说的就是MVC了,既然技术让我们把jsp作为V层,那么C层就不可能再是jsp了,控制器的风格是代码简洁,结构清晰,流程明确,如果把这种代码放在jsp中,似乎很不妥。C中不要写逻辑,但是它肯定还是要有一些基本的逻辑的,比如需要判定参数来决定调用哪个ejb,需要判定ejb返回的结果来决定分发到哪个jsp,这些逻辑同样尽量不要放在servlet中,而是用javabean。
      

  15.   

    问题四:我写servlet的时候无从下手,想去找些servlet的书,但是大多书介绍servlet的方面的太少了,希望有JSP/Servlet这方面的高手,能说说你们在学servlet的时候怎么学的,给点建议或者你自己的对servlet看法。
    回答:我也很少看书,网上有很多的这方面的书,随便一本都可以,因为你又不需要看完,我看软件方面的书一般只是看前面一两章,然后入门后就是去写代码。但是还是可以给些建议的,要学好servlet,首先需要了解servlet容器(也就是web服务器了),其次需要了解HTTP数据包的格式。然后就是把它定位到一个项目中去学了,要知道它在一个项目中占据着一个什么位置。它本身似乎并没有什么。献丑了。
      

  16.   

    1 jsp被翻译成了 _jsp.java(servlet) 是事实,生成后的servlet直接运行速度比原JSP运行的速度快
    2 javabean servlet 都是java 类 ,但是 servlet 能够处理客户请求的
    3 是可以都用jsp 实现 使用 servlet 是为了实现(MVC架构) 
    我也是新手 这是我最近学习的心得 希望高手能够点评
      

  17.   

    1:JSP编译后效率和servlet没什么区别,servlet高效怎么说的?个人认为编译后两者基本没区别了,不存在谁高效
    2:个人认为servlet和JavaBean的作用不同.
    3:servlet不是像JSP那么用的,你要搭配个模板工具或者框架就方便多了.servlet负责后台,用servlet再去print纯粹是没事找事干
    建议看看<Servlet与JSP核心技术>,里面有很简单的解释.
      

  18.   

    顶楼楼主,如果你有耐心的话,看看下面这个连接里面的Servlet系列,因为我也是初学者,所以个人觉得应该很适合初学者看。但是要有耐心,因为比较多,从1开始到14,系列的安排就是文章的后缀,因为之前这些所有的系列都是写在一篇里面的,所以现在把它们拆开,觉得会不是很贯通,如果你愿意象读一篇小说一样的读,那就从java系列到xml系列到j2ee系列到tomcat系列到ant系列到jdbc系列。还有看到其中一篇时,会讲到tomcat,需要你同时看我专栏里面的tomcat系列,都是很容易懂的。唯一需要的是耐心。由于这些是我前段时间写的,今天才直接转过来,没有做什么处理。呵呵,等我有时间,我会强力推出java虚拟机的blog,连我自己都很期待呢。希望各位捧场。
    http://blog.csdn.net/wewu200/category/151947.aspx