==========================部署项目时会在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("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开始。
</body>
生成的servlet代码可以自己到tomcat的work目录下寻找。