微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

当前位置:首页 > Java平台 > Servlet/JSP >

JSP运行机制解析

时间:2017-01-14 03:10  浏览:努力统计中...
刚学习JSP的时候, 很多人都说JSP其实就是servlet草稿, 当时不是很懂(只知道JSP确实是个servlet)。 其实,最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件

  刚学习JSP的时候, 很多人都说JSP其实就是servlet草稿, 当时不是很懂(只知道JSP确实是个servlet)。

  其实,最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器。一种名为SSI(Server Side Includes)的技术可以让Web服务器在返回HTML文件前,更新HTML文件的某些内容,但其功能非常有限。

  后来出现了大名鼎鼎的CGI(common gateway interface), 这个技术大大提升了动态的概念。 不过它有明显的缺点就是编写困难, 且以进程方式运行, 所以导致慢, 性能受限。

  后来SUN推出Servlet, 随后就推出JSP(当然, 之前还有很多优秀的产品, PHP,PERL等等)。

  首先客户端发送request给服务器, 服务器使servlet容器实例化servlet(单实例,多线程)来响应客户端的request。

  其实我们编写的JSP文件会被容器首先生成java文件, 然后编译成class文件,再去执行。

  还记得可以在servlet里使用如下代码返回给客户端页面吗?

       以下是代码片段:
  
  out.println("
  hello, jsp
  ");
  out.println("
  hello, jsp
  ");

        其实我们写的JSP文件会变成类似这样的java文件, 可以在tomcat的项目里查看到相应的.java文件, 打开之后就会看到大量的这种代码。

  所以说JSP就是servlet草稿, 以前似乎也有前辈们习惯以上面那种方式编写servlet来响应客户端请求。

  JSP容器的职责就是将jsp文件变成java文件, 然后使JVM可以编译运行它。


    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线------
    栏目列表
    推荐内容