当前位置:  技术问答>java相关

jsp与servlet的区别

    来源: 互联网  发布时间:2015-08-25

    本文导语:  各位大虾:     小弟刚接触java,最近享用jsp开发一个小网站,查了很多关于jsp和java方面的书,对java和jsp有了一点初步了解,但是有一点我很不明白,书上说Applet是运行在浏览器端的java小程序,而servlet则是一个基...

各位大虾:
    小弟刚接触java,最近享用jsp开发一个小网站,查了很多关于jsp和java方面的书,对java和jsp有了一点初步了解,但是有一点我很不明白,书上说Applet是运行在浏览器端的java小程序,而servlet则是一个基于java技术运行在服务器端的程序,但是运行在服务器端我们可以用jsp阿?jsp不是服务器端的脚本语言吗?它跟servlet有什么区别呢?我们用jsp建网站,还要用到servlet吗?
    小弟的问题在你们看来可能是概念上的问题,但真的困扰我很久了!希望你们能
给我一种清晰地解释!!!

|
servlet是服务器端的程序

|
Servlet是用Java编写的Server端程序,它与协议和平台无关。Servlet运行于Java-enabled Web Server中。Java Servlet可以动态地扩展Server的能力,并采用请求-响应模式提供Web服务。 

  最早支持Servlet技术的是JavaSoft的Java Web Server。此后,一些其它的基于Java的Web Server开始支持标准的Servlet API。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为: 

  客户端发送请求至服务器端; 

  服务器将请求信息发送至Servlet 

  Servlet生成响应内容并将其传给Server。响应内容动态生成,通常取决于客户端的请求 

  服务器将响应返回给客户端 

  Servlet看起来像是通常的Java程序。Servlet导入特定的属于Java Servlet API的包。因为是对象字节码,可动态地从网络加载,可以说Servlet对Server就如同Applet对Client一样,但是,由于Servlet运行于Server中,它们并不需要一个图形用户界面。从这个角度讲,Servlet也被称为Faceless Object。 

  JAVA Servlet的优势:

  Servlet可以和其他资源(文件、数据库、Applet、Java应用程序等)交互,以生成返回给客户端的响应内容。如果需要,还可以保存请求-响应过程中的信息。 

  采用Servlet,服务器可以完全授权对本地资源的访问(如数据库),并且Servlet自身将会控制外部用户的访问数量及访问性质 

  Servlet可以是其它服务的客户端程序,例如,它们可以用于分布式的应用系统中,可以从本地硬盘,或者通过网络从远端硬盘激活Servlet。 

  Servlet可被链接(chain)。一个Servlet可以调用另一个或一系列Servlet,即成为它的客户端。 

  采用Servlet Tag技术,可以在HTML页面中动态调用Servlet。 

  Servlet API与协议无关。它并不对传递它的协议有任何假设。 

  像所有的Java程序一样,Servlet拥有面向对象Java语言的所有优势 

  Servlet提供了Java应用程序的所有优势——可移植、稳健、易开发。使用Servlet 的Tag技术,Servlet能够生成嵌于静态HTML页面中的动态内容。

  一个Servlet被客户端发送的第一个请求激活,然后它将继续运行于后台,等待以后的请求。每个请求将生成一个新的线程,而不是一个完整的进程。多个客户能够在同一个进程中同时得到服务。一般来说,Servlet进程只是在Web Server卸载时被卸载。

  Servlet生命周期:

  装载Servlet。这项操作一般是动态执行的。然而,Server通常会提供一个管理的选项,用于在Server启动时强制装载和初始化特定的Servlet。 

  Server创建一个Servlet的实例 

  Server调用Servlet的init()方法 

  一个客户端的请求到达Server 

  Server创建一个请求对象 

  Server创建一个响应对象 

  Server激活Servlet的service()方法,传递请求和响应对象作为参数 

  service()方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息 

  service()方法使用响应对象的方法,将响应传回Server,最终到达客户端。service()方法可能激活其它方法以处理请求,如doGet()或doPost()或程序员自己开发的新的方法 

  对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作为参数传递给它。如此重复以上的循环,但无需再次调用init()方法。一般Servlet只初始化一次 ,当Server不再需要Servlet时(一般当Server关闭时),Server调用Servlet的Destroy()方法。

    
 
 

您可能感兴趣的文章:

  • 请问做jsp和servlet的朋友,有没有工具可以提供jsp,servlet单布编译执行的
  • 在jsp页面加载时自动调用某个特定的servlet,由servlet查询数据库输出WEB页面返回给jsp显示?
  • servlet什么时候用?有了jsp+javabean,为什么还要用servlet??
  • jsp+JavaBean vs jsp+Servlet+JavaBean
  • servlet使用RequestDispatcher到jsp页面,浏览器url栏还是servlet
  • jsp+javabean与jsp+servlet+javabean的区别是什么?
  • jsp/servlet配置的小问题,如何添加servlet包
  • 在编译使用扩展标签的java文件时,得到package javax.servlet.jsp does not exist,package javax.servlet.jsp does not exist的错误
  • 求教:在servlet中设定的cookie,为何在jsp中得不到值,但在别的servlet中能得到?
  • 得分套餐(32分):8。用TOMCAT时JSP表单提交信息给SERVLET处理时,“FORM ACTION=”后的SERVLET文件路径写什么?
  • 请教:servlet如何调用jsp页面或者servlet????
  • 详细说一说jsp+javabean和jsp+servlet的优缺点,现在最常用那种方式,?
  • servlet和jsp的区别
  • 为什么我在jsp页面用 "/servlet/goto.servlet?setname=中文",如果就这样传过去,在servlet里面得到的将是setname=null,如果传其他则可
  • servlet与JSP各有什么特点?
  • 关于jsp+servlet+javaBean结构?
  • 我在书上看到:“JSP页面最终都要编译成SERVLET 才能执行” 那么我自已可以写SERVLET 吗?如果能,又怎样运行它呢 ?
  • JSP和servlet有什么区别???
  • servlet对jsp有什么影响?
  • 学JAVA是先学JSP还是SERVLET?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • JSP中清空cookie代码参考
  • 现有1.jsp、2.jsp、3.jsp三个文件,我怎么在3.jsp文件中得到1.jsp中输入的值?
  • 一个框界网爷包含上下两个网页a1.jsp和a2.jsp,怎么实现a1.jsp自身不变且提交数据到下面的a2.jsp呢?不胜感激,急..
  • 请问jsp和serlet之间怎么通讯,jsp和jsp之间呢?
  • 请问<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别
  • response.sendRedirect("index.jsp") 和 <jsp:forward page="index.jsp"/>的区别?
  • 请问做jsp和servlet的朋友,有没有工具可以提供jsp,servlet单布编译执行的 iis7站长之家
  • aaa.jsp有如下链接,当单击该链接时将id值传递给bbb.jsp,怎样在bbb.jsp中引用这个id值?
  • jsp+bean还是jsp+ejb还是jsp+servlet还是asp+activex好?
  • 谁能告诉我,怎么调试jsp程序呀!我在jsp中调用java,但是Tomcat这家伙只会给我报jsp文件出错。这可怎么办呀?
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?
  • 初学jsp,一个html调用一个jsp,这个jsp调用一个javaBean,已编译成类,最后如何部署(用j2sdkee)?
  • 我要学jsp,已经下载了j2ee1.4,需要一个支持jsp引擎的WEB服务器或jsp引擎!!(急,马上给分)
  • jsp中相对路径怎么表示?例如当前目录下的jsp目录里的文件。
  • 我已经在输出前包含了<jsp:include page="2.jsp"/>,
  • 欲学JSP,请教JSP资料,最好电子版。
  • jsp中文乱码 jsp mysql 乱码的解决方法
  • JSP/html 编辑器 Bravo JSP editor
  • JSP开发入门(五)--JSP其他相关资源
  • <jsp:include page="SystemLeft.jsp?TypeId=<%= itTypeId.toString() %>" flush="true" />
  • 用JBUILDER如何调试一个JSP工程,一次只运行一个JSP页面?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3