1、当用户访问一个JSP页面时,会向一个Servlet容器(Tomcat等)发出请求;
2、如果页面有所改动,则servlet容器首先要把JSP页面(假设为testjsp)转化为Servlet代码(testjava),再将其转化为class文件(testclass文件);这种过程(编译)会耗费时间
3、JSP容器负责调用从JSP转换来的servlet,这些servlet负责提供服务相应用户请求;如果用户有多个请求,则容器会建立多个线程处理多个请求;
4、容器执行字节码文件(包括调用的servlet:formprocessorjava字节码),并将其结果返回到客户端(返回的最终方式是有servlet输出html格式的文件流)。
扩展资料:
语言优点:
1、一次编写,到处运行。除了系统之外,代码不用做任何更改。
2、系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP的局限性JSP的优势是显而易见的。
3、强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
4、多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
5、支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。
参考资料来源:百度百科--JSP
JSP页在第一次打开的时候会很慢,因为需要在work文件中编译成相应的java代码。JSP属于java的表示层,需要编译一次。
如果是非第一次打开很慢,这基本是代码不完善的问题了,原因如下:
1在写代码的时候滥用new创建多个不必要的对象存入内存中。
2注意用尽量减少new出来的字符串,尽量用StringBuffer代替。
3在BEAN中的SQL语句不合理。(比如说应该加条件查询的不加,非要查整个表里面的内容)
4优化分页代码。切误一次读出。
5在JNDI中存在没有关闭连接的现象。
基本如此,还有的需要在常写代码时自己慢慢摸索了。况且你不给分,我就不浪费时间了
PS:第二条,因为String类是final类,每new出一条语句会产生两个对象嘛
首先,你得知道显示速度缓慢的原因是什么!
一般来说,页面显示速度慢会有下面几个原因:
1、网络原因
2、程序原因
如果是网络原因,那么你去检查一下网络就好了。
如果是程序原因,一般来说也会有以下几种情况:
1、代码需要执行的逻辑太多
如果是这样的问题,我们可以对程序进行优化。比如:将复杂数据的 *** 作结果保存下来,下一次直接使用即可;减少对象的 *** 作,因为 *** 作对象通常都会比较慢;将一些复杂的逻辑分几步做,不要一下子直接完成。还有一些别的,程序优化时一门大学问,在这里就不罗列了,基本上,只要能够减少代码的执行次数,减少代码的执行时间,提高代码的执行效率就OK!
2、是JSP页面的第一次执行
JSP第一次执行的时候需要通过JSP引擎转换成servlet文件,然后再通过JVM编译和执行程序,执行完毕之后,再把生成的html代码返回客户端。所以,JSP程序的第一次执行速度都会比较慢,到第二次以后就不会这么慢了!
3、页面上需要显示的内容太多
主要是页面上需要显示的过多,因为我们在让别人的浏览器打开我们的网页的时候,他需要去下载我们这个网页里面的资源,如果网页过大,资源过多,势必会导致下载时间延长。所以,我们在制作的时候,需要尽量让页面不至于很大,如果是一些不得不显示的大的,我们也会将这个切块,从而提高用户体验!
以上就是关于JSP运行原理什么全部的内容,包括:JSP运行原理什么、JSP 页面显示慢的原因、如何提高JSP的速度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)