去年就接触JSP了,对它的感觉就三点:1.动态的HTML;2.MVC中的视图层;3.servlet表单提交/嵌入java代码。今天看了一些关于JSP的东西,受益匪浅,觉得自己弱爆了。JSP的确很强大,包括它和java一样的跨平台,servlet的本质,强大的标签库等等。内容不是很多,但我觉得对JSP了解更深了,给大家分享下!
一、JSP的全称
JSP:java server page
JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。
从名称可以看出这样几点:1.jsp是和java相关的,事实上他也就是嵌入java代码,动态执行的;2.jsp是在服务器端执行的;3.jsp有自己的编写规范,有自己的组件,内置对象。
二、JSP是什么
综合以下几点:
1.它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
2.JSP将
网页逻辑与网页设计和
显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
3.一种动态网页技术标准
三、JSP如何执行
概念层面:
1.表层--->Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
2.本质--->所有JSP页面,在执行的时候都会被服务器端的JSP引擎转换为Servelet(.java),然后又由JSP引擎调用Java编译器,将Servelet(.java)编译为Class文件(.class),并由Java虚拟机(JVM)解释执行。
3.第一次jsp加载延迟--->当一个JSP页面第一次通过JSP引擎运行时,在收到响应前可能有较长的延迟。出现延迟的原因是,JSP引擎需要将JSP转换为Java代码、进行编译以及将它初始化,然后才能响应第一个请求。以后的请求会利用已编译的Servlet。第一个请求后的请求应该会更快地得到处理。
图形层面:
见附件:jsp运行原理.png
代码层面:
见此链接:
http://blog.csdn.net/sdyy321/article/details/5838717(注:个人觉得很受启发)
资料层面:
大家经常会听到JSP引擎,我觉得在WEB容器中,这个Servlet类也被称为JSP引擎。
有一份资料供大家参考--见附件:JSP核心技术——JSP引擎内幕(2010).pdf(注:内除了设计引擎外,还有内置对象、标签、线程安全等等)
四、JSP的优缺点
优点:
1.用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
2.强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
3.多样化和功能强大的开发工具支持。
4.支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。
缺点:
1.优势即弱势。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
2.存储空间消耗较大。一方面,Java的运行速度是用class常驻内存来完成的;从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
五、JSP九大内置对象
推荐博文:
http://www.cnblogs.com/kelin1314/archive/2011/03/03/1969578.html
六、与JSP易混淆的技术知识
JSP与Servlet
http://blog.sina.com.cn/s/blog_4c204e11010009v0.html
1.两者并无本质上的区别
2.JSP处理显示层,也就是说,只放输出HTML网页的部份;servlet处理业务逻辑层,即数据计算,数据分析,数据库联结处理。
3.在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。
4.JSP内容和外观的分离,编辑好HTML后,由servlet进行插入动态内容。
JSP/ASP
JSP(Java Server Page)与ASP(Active Server Page)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较:
1.Web服务器的支持:大多数通用的 Web服务器如:Apache、Netscape和Microsoft IIS都支持JSP页面,只有微软本身的Microsoft IIS和Personal Web Server可以支持ASP。
2.平台的支持:JSP具有平台独立性,只要是一般的Java程序可以运行的平台,都支持JSP程序。Windows平台可以很好的支持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于移植到其它平台上。
3.组件模型:JSP是建立在可重用的、跨平台的组件(如:JavaBeans、Enterprises JavaBeans和用户定制的标签库等组件)之上的,而ASP使用的是基于Win32的COM组件模型。
4.脚本语言:JSP可以使用Java编程语言或JavaScript作为脚本语言,而ASP使用VBScript或Jscript作为脚本语言。
5.安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全结构。
6.与Access数据库的连接:JSP使用JDBC建立与Access数据库的连接,而ASP对Access数据库使用Data Active Objects。
7.用户定制的标签:JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的。
----------------------------------------------------------------------
关于jsp的学习东西还有很多,疑惑地方也很多。但本着一颗努力学习、排除万难的心,任它有万丈光芒,竭尽全力照耀我身!
- 大小: 24.1 KB
分享到:
相关推荐
JSP源码 jsp学习jsp学习jsp学习jsp学习jsp学习jsp学习
jsp基础学习资料 jsp基础学习资料 jsp基础学习资料 jsp基础学习资料
学习JSP的相关读书笔记,可作为平时学习JSP的参考资料或者作为课设的总结
jsp学习好jsp学习好jsp学习好jsp学习好
JSP学习资料大全,包括《jsp200问》、《jsp全攻略》、《jsp通用模块》、《JSP技术手册》、《JSP由浅入深》和《图解JSP环境安装配置》
jsp连接db学习与学习,自己学习使用的的
JSP学习文档.docxJSP学习文档.docxJSP学习文档.docxJSP学习文档.docxJSP学习文档.docx
Jsp学习是Android客户端目前最全面的免费离线Jsp学习书籍,主要内容包括: 1、Html标签、表格、表单等基础内容 2、Javascript基础 3、Javascript脚本高级特效 4、B/S架构工作原理 5、Jsp标签、表达式、会话管理...
JSPServlet新手学习资料JSPServlet新手学习资料
JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java...JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做...
分享JSP学习经验总结
JSP课件 主要是个人在学习JSPJSP课件 主要是个人在学习JSP
有效的帮助大家在JSP的学习中,打好坚实的基础!
jsp帮助文档帮助学习jspjsp帮助文档帮助学习jspjsp帮助文档帮助学习jspjsp帮助文档帮助学习jspjsp帮助文档帮助学习jsp
jsp语言开发的英语学习实践系统,毕业设计代码
jsp web开发学习实录
很好的学习JSP的资料 很好的饿学习JSP的资料 jsp学习资料 很好
jsp基础学习课件,适用于jsp初学者,共分为16章,包括jsp基础入门,案例学习,jsp基本语法,内容详细,易懂易学,是学jsp的最好选择
本系统主要是一个在线学习系统,系统主要技术是jsp+mysql,系统包括大学的所有课程的学习,包括登陆注册和数据库基本的增删改查