【我理解的JAVA WEB】发展过程

  1. 静态页面

    最初的网页只是作为静态资源的展示,其实,和画黑板报一个意思,只是一下信息的展示,供大家浏览,缺少了交互。
    缺点:缺少动态交互

  2. CGI
    CGI,Common Gateway Interface,公共网关接口,其实思想,就是把交互的代码放到服务器上,代码可以使用各种java, c, 等;CGI分三个模块,环境变量,标准输入,标准输出;
    每一次请求到来,从环境变量中读取数据,标准输入就是GET,POST发送的数据,然后,启动CGI程序,注意,这里是启动一个进程。然后处理逻辑代码,将生成的HTML代码,发送到标准输出,返回。显然
    缺点:一次请求就要启动一个进程。

  3. Applet
    是一种java程序,运行在支持java的web 浏览器内,有专门的HTML标签<applet>支持,一次请求后,Applet程序和HTML页面一起返回给客户端。既然是java程序,那必须要JVM才能运行,所以在运行含有Applet的HTML页面时,要么是浏览器的JVM插件,要么有独立的运行环境,也就是所谓的“沙箱”。

    Applet,继承了 java.applet.Applet 类,定义了5个方法:

    init:初始化方法,只调用一次;
    start:每次用户跳转到含有Applet的页面时,调用一次;
    stop:当用户从含有Applet的页面移除时,调用;
    destroy:当浏览器关闭时,调用;
    paint:在start方法调用后,立即被调用,相当于service方法。

    缺点:需要浏览器支持JVM,Applet运行需要的jar包,需要从服务器下载。

  4. Servlet
    从名字上可以看出,与Applet是对应的,Applet是运行在浏览器上的java程序,而Servlet,是运行在web 服务器上的java程序。Servlet吸收了CGI和Applet的特点,把java代码放在了服务器端,并且做到了,一次请求只启动一个线程,这样大大减少了开销,提高了处理能力。

    大家通常谈论的Servlet,是javax包里的一个接口,其实,Servlet应该看做是一个协议约定,它规定了:

    init:初始化的时候,应该做些什么;
    service:具体的逻辑处理部分,也就是核心的业务逻辑代码;
    destroy:程序销毁的时候,应该做些什么。

    原理上,Servlet应该能处理各种协议的请求,但是现在大部分都是用来处理HTTP请求了。
    缺点:对web容器具有依赖性

  5. JSP
    JSP,java server pages,算是基于Servlet的一个补充优化,因为只有servlet的话,你需要单独编写servlet,HTML页面,然后通过HTML调用,合成最终页面。

    JSP也称为动态页面,其实就是,在HTML页面里,嵌入java代码,通过这样,达到页面动态改变的功能。JSP在处理的时候,其实也是,先通过web server的JSP引擎,转换为servlet,执行servlet,然后将结果合成一个HTML页面,返回给客户端。

这篇只是大概描述了一下,java web的发展过程,虽然我们有了servlet,但是我一次HTTP请求后,如何调用到具体的servlet程序,他是如何执行,并返回结果的?
留下这些疑问,下一篇里,再叙。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值