zoukankan      html  css  js  c++  java
  • 我的Java之旅 第三课 从Applet到JSP

    一、Applet
      Applet是一种特殊的Java程序,它本身不能单独运行(因为本身没有main()),需要嵌入在一个HTML文件中,借助浏览器或者appletviewer来解释执行。
      Applet 小应用程序的实现主要依靠java.applet 包中的Applet类。
      Applet类中的四种基本方法用来控制其运行状态:init()、start()、stop()、destroy()。
      如果想在浏览器之间进行通信,那么需要applet调用getAppletContext方法.这个方法将返回一个实现了AppletContext接口的对象.可以将AppletContext接口的具体实现认为是打开了一条applet与环境浏览器之间的通信道路.(Java核心技术 卷1 p458页)
      applet不能与其它网页上的applet进行通信(Java核心技术 卷1 p458页)
    二、Scriptlet 
       小脚本程序(Scriptlet = Script + Applet),
       Scriptlet是包含在<% %>之间的Java代码,在Web容器处理JSP页面时执行,通常会产生输出,并将输出发送到客户的输出流里。
       <%  代码片段  %>等价于 <jsp:scriptlet>   代码片段 </jsp:scriptlet>。
      <% %>中除了不能定义类和方法、不能用import引入类外,可以包含任何有效的Java代码。(Java类在Jsp外部定义,可用page指令的import属性引入,也可以Java Bean的形式使用。) 
       另外,Live Connect提供了Java与javascript的接口,可以允许在Java Applet小程序中使用javascript。
    三、Servlet
        小服务程序(Servlet = Server + Applet),Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
        Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类。
       Servlet必须部署在Servlet容器,才能响应客户端的请求  对外提供服务。要对外统一接口,由容器来调用。
         所有基于Java的服务器端编程都是构建在Servlet之上的。在J2EE中Servlet已经是一个标准的组件。
    四、JSP
        使用Servlet产生动态网页,需要在代码中打印输出很多HTML的标签,此外,在Servlet中,我们不得不将静态现实的内容和动态产生内容的代码混合在一起。于是就有了JSP,它是从Servlet继承而来,只不过它在Servlet当中又添加/修改了一些方法,作了新的封装。
           事实上,JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例——JSP页面由系统编译成Servlet,Servlet再负责响应用户请求。JSP其实也是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用中的每个JSP页面都会由Servlet容器生成对应的Servlet。
         JSP文件必须在JSP服务器内运行。JSP文件必须生成Servlet才能执行。每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet。JSP页面的访问者无须安装任何客户端,甚至不需要可以运行Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。
          JSP侧重显示;servlet侧重控制逻辑。
          MVC模式:Jsp + Servlet + JavaBean。M-JavaBean V-Jsp C-Servlet    
     
    五、参考
     Applet、Scriptlet与Servlet
     图解JSP与Servlet的关系
  • 相关阅读:
    [Micropython]发光二极管制作炫彩跑马灯
    如何在MicroPython TPYBoard 添加自定义类库
    micropython TPYBoard v202 超声波测距
    简易排水简车的制作 TurnipBit 系列教程
    TPYBoard v102 驱动28BYJ-48步进电机
    使用mksdcard管理虚拟SD卡
    使用 DX 编译 Android应用
    常用ADB的用法
    在命令行创建、删除和浏览AVD、使用android模拟器
    Android-SDK下目录结构
  • 原文地址:https://www.cnblogs.com/net515/p/6434661.html
Copyright © 2011-2022 走看看