JSP页面显示,加载 的原理。。。。。困惑
当客户第一次请求JSP页面时,JSP引擎会通过预处理把JSP文件中的静态数据(HTML文本)和动态数据(Java脚本)全部转换为 Java代码。这个转换工作实际上是非常直观的,对于HTML文本只是简单的用out.println()方法包裹起来,对于Java脚本只是保留或做简单的处理
也就是说 jsp/servlet(没改动)只编译一次,以后(动态数据)响应时是,如何显示的:我这样说对么“每次用out.print("<p>"+emp.ename+"</p>")将jsp整个都输出到前台”,还是如何? 如果不是页面上的数据如何变化的
jsp/servlet(没改动)只编译一次,,本来就是这样的。遇到一个人非说是每次编译。我讲不清楚。。请高人指点。。。
给出分析
讲清楚的给全分。。。。
------解决方案--------------------每一个JSP都是一个对象,其实就是一个Servlet 他的解析都是交给Tomcat的,第一次解析的时候会进行编译,每一个JSP都会生成一个Java类以及编译后的class文件,这些文件都放在了
Tomcat 6.0\work\Catalina\localhost\eqinfohb\org\apache\jsp这个路径下面(eqinfohb是你的工程),你要是感兴趣的话,你可以去看看最终JSP都编译成什么样了。
------解决方案--------------------◎ 我这样说对么“每次用out.print("<p>"+emp.ename+"</p>")将jsp整个都输出到前台”,还是如何?
—— 对,就是这样把整个HTML和动态生成的HTML写给浏览器。
◎ 遇到一个人非说是每次编译
—— 错,中间件没有那么蠢,中间件可以自动检测JSP文件是否更新过,如果更新过才会重新生成Servlet并编译Servlet对应的class;在生产环境,甚至可以关闭自动检测以提升性能。
------解决方案--------------------
------解决方案--------------------