zoukankan      html  css  js  c++  java
  • 第 6 章 贴近servlet

         服务器在获得请求的时候会先根据jsp页面生成一个java文件,然后使用jdk的编译器将此文件编译,最后运行得到的class文件处理用户的请求返回响应。如果再有请求访问这jsp页面,服务器会先检查jsp文件是否被修改过,如果被修改过,则重新生成java重新编译,如果没有,就直接运行上次得到的class。

    为什么第一次访问jsp的时候速度会那么慢?就是因为要经过生成java和编译class的步骤。以后再次访问同一页面就会感觉到速度明显变快,也是因为class文件已经生成的原因。

    为什么jsp要经过这些步骤转换成servlet再去执行呢?因为java起初做网站的时候就只有servlet可以使用,为此还专门指定了一套servlet标准,就是我们在代码中看到的javax.servlet包下的类。但是人们马上就发现,使用servlet显示复杂页面太费力气了,使用servlet里的输出方式简直让人写到手抽筋,于是就有了仿效asp和php的jsp出现,开发人员可以在美工做好的页面上直接嵌入代码,然后让服务器将jsp转换成servlet执行。

    有的朋友可能迷糊了,既然jsp是为了简化servlet开发,那么为什么我们现在又要去学习servlet?既然servlet那么麻烦为什么不直接使用jsp就好了呢?

    这是因为jsp虽然比servlet灵活,却容易出错,你找不到良好的方式来测试jsp中代码,尤其在需要进行复杂的业务逻辑时,这一点儿很可能成为致命伤。所以一般都不允许在jsp里出现业务操作有关的代码,从这点来看,我们上一章中举的例子就严重违反了这一标准,CRUD的操作都写在了jsp这种,一旦出现问题就会让维护人员头大如斗。

    servlet是一个java类,需要编译之后才能使用,虽然显示页面的时候会让人头疼,不过在进行业务操作和数据运算方面就比jsp稳健太多了。因此我们就要结合两者的优点,在servlet进行业务操作和请求转发,jsp全面负责页面显示,这也是目前公司企业里常用的开发方式。

  • 相关阅读:
    我的JavaScript之旅——this到底是啥?
    关闭或修改 IIS 443 端口
    UTF8 GBK UTF8 GB2312 之间的区别和关系
    正则表达式符号解释1
    用 Gmail 的 SMTP 发送邮件
    ASCII 码表
    DNN建立前,需要对其进行一些配置
    XAMPP安装和使用教程(图文并茂)
    Visual Studio IDE 实用小技巧
    第二讲 硬件I/O操作
  • 原文地址:https://www.cnblogs.com/wenjieyatou/p/6109963.html
Copyright © 2011-2022 走看看