前言
最近小编正在学习java,刚刚接触,每一步都要走的扎实,那么,总结就是必不可少的啦……今天小编就来絮叨一下jsp。
简介
JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。jsp是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
运行原理
每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用。
由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响。
JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9个与web开发相关的对象供_jspServlet使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用。
Jsp的9个内置对象: request、response、session、application、out、pagecontext、config、page、exception
为什么使用Jsp
1)性能更加优越。JSP可以直接在HTML网页中动态嵌入元素
2)服务器调用的是已经编译好的JSP文件
3)JSP基于JavaServlet API,拥有各种强大的企业级java API(包括JDBC、JNDI、EJB)
4)JSP页面可以与处理业务逻辑的servlets一起使用
5)JSP是Java EE不可或缺的一部分,是一个完整的企业级应用平台
Jsp的优点
1)jsp代码跨平台。即一次编写,到处运行。
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA – Write Once, Run Anywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
2)JSP组件跨平台
系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。
3)支持多种网页格式
目前, JSP技术支持的网页格式还没有一个明确的标准.一般来说,JSP技术既可以支持HTML/DHTML的传统浏览器文件格式,又可以支持应用于无线通信设备如移动电话,PDA等设备进行网页预览的WML文件格式,还可以支持其他一些B2B电子商务网站应用的XML格式.
4)JSP标签可扩充性
尽管ASP和JSP都使用标签与脚本技术来制作动态Web网页,JSP技术允许开发者扩展JSP标签,定制JSP标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖.由于定制标签技术,使网页制作者降低了制作网页的复杂度.
5)健壮性与安全性
由于JSP页面使用的脚本语言是java语言, 因此,它就具有java技术的所有好处, 包括健壮的存储管理和安全性
Jsp的缺点
1) jsp技术极大地增加了产品的复杂性
2) java的高效率运行需要占用大量的内存和硬盘空间
3) jsp程序调试困难