《JSP基本简介》PPT课件.ppt

上传人:tia****nde 文档编号:11499042 上传时间:2020-04-26 格式:PPT 页数:56 大小:1,019KB
返回 下载 相关 举报
《JSP基本简介》PPT课件.ppt_第1页
第1页 / 共56页
《JSP基本简介》PPT课件.ppt_第2页
第2页 / 共56页
《JSP基本简介》PPT课件.ppt_第3页
第3页 / 共56页
点击查看更多>>
资源描述
第6章JSP基本介绍,杨广超TEL:15923504788EMAIL:gchao_yang,目标,理解JSP理解JSP页面的各种构成元素了解JSP页面的执行过程了解JSP的优点,JSP概念,JSP(JavaServerPages)是由sun公司为创建动态Web内容而定义的一种技术。JSP页面看起来象普通的HTML页面,但它允许嵌入执行代码,这一点和ASP技术非常相似。JSP使得我们能够分离页面的静态HTML和动态部分。JSP可用任何文本编辑器(如记事本等)编写,只要以“jsp”为扩展名保存即可。在编写JSP文件时,可以先编写HTML文档,然后在其中嵌入Java代码创建动态内容。,JSP概念,JSP页面一个JSP页面就是指的包含Java代码和HTML标签的web页面同时它也是一个服务器包含的技术,单纯的HTML页面只是把标签静态的渲染到浏览器,而JSP中的Java代码由服务器处理产生单纯的HTML文本数据而发送到客户端JSP规范列出了JSP页面中使用到语法及各种语义元素,这些元素就是JSP标签一个JSP页面就是一个混合了动态JSP标签和静态HTML标签的HTML模板。在运行时,模板被用来生成单纯的HTML页面,发送到客户端,JSP概念,HTML,SERVLET,JSP的用例对比使用HTML,SERVLET,JSP三种技术来比较用Hello来向访问者打招呼的例子HelloUser,什么是JSP?,JSP的运行方式,JSP的运行方式如下:在服务器启动后,当Web浏览器端发送过来一个页面请求时,Web服务器先判断是否是JSP页面请求。如果该页面只是一般的HTML/XML页面请求,则直接将HTML/XML页面代码传给Web浏览器端。如果请求的页面是JSP页面,则由JSP引擎检查该JSP页面,如果该页面是第一次被请求、或不是第一次被请求但已被修改,则JSP引擎将此JSP页面代码转换成Servlet代码,然后JSP引擎调用服务器端的Java编译器javac.exe对Servlet代码进行编译,把它变成字节码(.class)文件,然后再调用Java虚拟机执行该字节码文件,将执行结果传给Web浏览器端。如果该JSP页面不是第一次被请求,且没有被修改过,则直接由JSP引擎调用JAVA虚拟机执行已编译过的字节码.class文件,然后将结果传送Web浏览器端。从上面的叙述中我们不难看出JSP和Servlet的关系。JSP引擎负责把JSP页面翻译成Servlet,因此JSP在底层完全就是Servlet(指原始概念上的Servlet,而不是HttpServlet)。,JSP概念,JSP还是Servlet?Q1:JSP在第一次运行时,会被容器翻译成相应的servlet,这会不会造成JSP速度比servlet运行慢?Q2:而在编写页面时,JSP却比servlet省事的多,是不是servlet就不适合WEB编程呢?首先,JSP是存在第一次执行速度慢的问题,但是执行完第一次后,跟servlet就没有不同其次,servlet编写一个简单的页面就得out.printN次,的确繁琐,但不代表不适合WEB编程,它可以很方便的处理业务逻辑,比如,addUser到数据库,标准的java代码结论,在一个WEB系统中,通常是servlet和JSP的结合使用结合要点:JSP页面是用来可视化展现的,比如,操纵页面业务逻辑处理却是servlet的强项,JSP概念,JSP技术是将特定的Java代码嵌入到HTML网页代码中,再由JSP引擎将这些代码转换成Servlet代码,从而解决了Servlet输出网页需要大量的println代码的不足。,JSP概念,Java服务器页面(JavaServerPage,JSP)以扩展名.jsp保存有效地控制动态内容生成在JavaServerPage里面使用Java编程语言和类库HTML用于表示页面,而Java代码用于访问动态内容,JSP概念,JSPtest你好,这就是一个JSP页面,,JSPtest当前时间是:WedOct2717:14:43CST2010你好,这就是一个JSP页面,,Model1,JSP1层架构,Model2,JSP2层架构,JSP的架构模型,JSP页面的元素,静态内容,指令,表达式,Scriptlet,JSP页面,HTML静态文本,以结束。比如:,声明,动作,以结束比如:,注释,JSP组成,JSP脚本元素java代码,注释,声明,表达式JSP指令元素page,include,taglibJSP动作组件usebean,setproperty,getproperty,include,forward,plugin,param,fallback等JSP内置对象out,request,response,session,application,pagecontext,config,page,exception等HTML代码,JSP页面元素,JSP声明,JSPScriptlet,JSP指令,JSP页面元素,JSP页面构成JSP页面构成早上好!下午好!,静态内容,JSP表达式,JSP注释,JSP动作,JSP执行过程,客户端,JSP页面,JSP执行过程,JSP执行过程,转换和编译,编译,Servlet,JSP,确定JSP中的错误,从JSP元素中提取数据,为JSP生成一个Servlet,转译,*.jsp,*.java,*.class,servlet,servlet分析器,JSP的执行过程:,JSP的执行流程:,示例分析,.其他HTML语言其他HTML语言,JSP示例(Hello.jsp),你好,你好你好,JSP示例(Hello_Date.jsp),你好,今天是号,星期,importjava.util.*;response.setContentType(text/html;charset=gb2312);out=pageContext.getOut();out.write(rnrnrnrn你好,今天是rn);Datetoday=newDate();out.print(today.getDate();out.write(号,星期);out.print(today.getDay();out.write(rnrnrn);,JSP文件,servlet文件,JSP的优点,将内容与表示分离,客户端,服务器,一注释,HTML注释JSP注释语法格式如下:或-这种注释发送到客户端,不直接显示;但在源代码中可以查看到。,HTML注释举例:,HTML注释未显示上一行的注释。,JSP注释举例:,HTML注释未显示上一行的注释;而且你在源代码中也查看不到!,JSP程序自身注释,JSP语法元素及标签类型,JSP语法,JSP语法元素及标签类型案例,二JSP脚本元素,JSP脚本元素,表达式,Scriptlet,声明,JSP脚本元素包括:,1声明,变量的声明方法的声明类的声明在中声明的变量、方法、类,在整个jsp文件内都有效,是全局的。JSP语法格式如下:或,声明就是在JSP页面中声明和定义变量和方法。声明总是以结尾。,声明,定义一个count变量,并赋初值0。,声明:变量仅在JSP引擎第一次装载页面的时候初始化一次(仅一次),而在接下来的客户端请求中使用该变量的值。,两种使用方式等价,声明page1.jsp,test,您是第个访问本站的客户。,计数器程序:,JAVA程序段,一个JSP页面可以有多个JAVA程序段。语法格式如下:,JAVA程序段page2.jsp,1到100的连续和:,JAVA程序段中定义的变量是局部变量,变量sum在page2.jsp的程序段和表达式中有效。一个客户对page2.jsp的局部变量sum的操作结果,不会影响其它客户的对该page2.jsp的局部变量sum。,您是第个访问本站的客户。,!注意观察与前面计数器程序的异同,JAVA表达式,用于在页面上输出信息,语法格式如下:或例如:a=b=c=,例:表达式,Sin(0.9)除以3等于3的平方是:12345679乘72等于5的平方根等于99大于100吗?回答:100%,JSP指令,JSP指令,page,include,taglib,JSP指令的语法为:,JSP指令包括:,page指令,page指令属性,language,page指令用于设置JSP页面的属性,import,buffer,errorPage,contentType,language定义要使用的脚本语言,import将包和方法导入Scriptlet,isErrorPage表示当前页面能否作为错误页面,errorPage定义处理异常的JSP页面,buffer设置用来存储客户端请求的缓冲区的大小,page指令,测试page指令这是一个测试页面,page指令属性,page指令,JSP指令-directivespage指令:page指令通知JSP引擎证实关于JSP页面的所有属性。这个指令并不仅仅应用在声明它的页面,而是作用于整个翻译单元。include指令:include指令告诉JSP引擎在当前页面包含其它web组件(HTML,JSP等)。taglib指令用来关联一个已知的taglib配置文件的前缀。,JSP页面之page指令,JSP页面之page指令import属性书写格式(2种)隐含导入的包,也就是不必再显式导入的包注意点可以出现多次import属性,这个是page指令中的唯一特例重复导入的包会被忽略,page指令,java.lang.*,javax.servlet.*,javax.servlet.jsp.*,javax.servlet.http.*,1,2,page指令,JSP页面之page指令errorPage和isErrorPage属性JSP页面处理异常的机制普通的try-catch块使用errorPage和isErrorPage属性,errorPage也可以是error.htm,但是无法处理出错信息而已,page指令,JSP页面之page指令language、extends和info属性说明页面上的声明,脚本和表达式用的语言,只有java可用extends属性指定页面生成的servlet的父类用来定制容器生成的JSP对应的servlet类的特性该属性基本上用不到info属性,info属性允许我们为生成的servlet的getServletInfo()方法返回的字符串。,page指令,JSP页面之page指令buffer和autoFlush属性buffer属性,buffer属性指明在生成的内容发送到客户端前的输出缓冲区的最小值,JSP规范指定最小为8kb(只能是kb后缀),如果不用缓冲而直接发送数据到客户端,可设置为none。autoFlush属性,autoFlush属性指明一旦缓冲区满缓冲区的数据是否自动发送到客户端。默认值是true。如果设为false,一时缓冲区满,再向缓冲区输出数据就会报出异常。下列组合就是非法的:翻译成servlet时出错运行时出错,page指令contentType和pageEncoding属性contentType属性指明输出的MIME类型和字符编码MIME的默认值为text/html;字符编码的默认值为ISO-8859-1。MIME和字符编码之间用分号;隔开等价于在servlet中写:response.setContentType(text/html;charset=ISO-8859-1);pageEncoding属性指明JSP页面所使用的编码。默认值为ISO-8859-1。,include指令3-1,include指令用于在运行时将HTML文件或JSP页面嵌入到另一个JSP页面include指令语法,include指令3-2,include指令测试页面,include指令用法,要嵌入JSP页面的文件,include指令3-3,使用include指令进行JSP编程,你好,欢迎您!,taglib指令2-1,taglib指令可以让JSP页面使用标签taglib指令的作用是在JSP页面中,将标签库描述符文件引入到该页面中,并设置前缀,而去利用标签的前缀去使用标签库表述文件中的标签语法,taglib指令2-2,taglib指令的使用,JSP页面在根目录中搜索mytaglib标签库描述符文件,而mytags前缀将mytaglib中的标签嵌入JSP页面,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!