jsp原理分析 jsp声明和jsp脚本讲解 源码分析 及jsp注释讲解 jsp页面的访问量

11 篇文章 0 订阅

==========================部署项目时会在tomcat的work目录中生成对应的项目文件,但是并不生成jsp的java类文件,只有当请求了该jsp服务器才会生成对应的jsp的类文件。

==========================生成的java类是final的。

=========================Servlet是单例的所以每个用户访问的都是同一对象。

==========================每次访问jsp,服务器会检查jsp是否改变,如果改变则从新编译,并更新生成的java类。


<body>

        <%--  <%=new java.util.Date()%> --%>                   ===该注释不会在servlet中存在,所以里面的代码不运行

        <!-- <%=new java.util.Date()%> -->                          ===该注释在servlet中会解析成3行:      out.write("\t\t<!-- ");      out.print(new java.util.Date());      out.write(" -->\r\n");

                                                                                                ===这样分析后页面上怎么呈现出来应该不用我多讲了。

        <%=session.getAttribute("user")%>
        <%=session.getAttribute("dd")%>

        <%! int aa = 3; %>                                                      ===jsp声明,在生成的servlet类中,aa将作为类的成员变量存在

        <%=aa-- %>                                                                ===所以每刷新一次aa会减一,用不同浏览器访问不同电脑访问也是如此,只有当服务器从新启动才会回到3从新开始。

                                                                                              ===这和servlet原理有关,当你初次访问该servlet时,该servlet将被加载(servlet默认加载),当应用程序关闭时才会调

                                                                                             ===用servlet的destroy方法释放内存,文件句柄,线程等。servlet是单例的,当首次访问时class文件加载到内存中,之后

                                                                                            ====就不再加载。由此可见可以用来记录一个jsp页面的访问量

          <%int bb = 3; %>                                                       ===jsp脚本。bb只是生成的servlet类方法public void _jspService中的局部变量,所以每次访问都是从3开始。

        <%=bb-- %>                                                               ===所以每次输出的都是3

    </body>


生成的servlet代码可以自己到tomcat的work目录下寻找。




此图参考讲师张龙的javaweb教程。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值