JSP基础教程课件JSP1_2.ppt

JSP基础教程课件JSP1_2.ppt

ID:51963981

大小:54.00 KB

页数:12页

时间:2020-03-26

JSP基础教程课件JSP1_2.ppt_第1页
JSP基础教程课件JSP1_2.ppt_第2页
JSP基础教程课件JSP1_2.ppt_第3页
JSP基础教程课件JSP1_2.ppt_第4页
JSP基础教程课件JSP1_2.ppt_第5页
资源描述:

《JSP基础教程课件JSP1_2.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.7JSP页面的基本结构在传统的HTML页面文件中加入java程序片和JSP标签就构成了一个JSP页面文件。一个JSP页面可由5种元素组合而成:(1)普通的HTML标记符。(2)JSP标签:如,指令标签、动作标签。(3)变量和方法的声明。(4)Java程序片。(5)Java表达式。我们称(3)、(4)、(5)形成的部分为JSP的脚本部分。<%@pagecontentType="text/html;charset=GB2312"%><%!inti=0;%><%i++;%>

您是第<%=i%>

2、个访问本站的客户。观察以下代码,分析各个部分:当服务器上的一个jsp页面被第一次请求执行时,服务器上的JSP引擎首先将JSP页面文件转译成一个java文件,再将这个java文件编译生成字节码文件,然后通过执行字节码文件响应客户的请求。这个字节码文件的任务就是:把JSP页面中普通的HTML标记符号,交给客户的浏览器执行显示。JSP标签、数据和方法声明、Java程序片由服务器负责执行,将需要显示的结果发送给客户的浏览器。Java表达式由服务器负责计算,并将结果转化为字符串,然后交给客户的浏览器负责显示。1.8变量和方法的声明在“<%!”和“%

3、>”标记符号之间声明变量和方法。1.8.1声明变量在“<%!”和“%>”标记符之间声明变量,即在“<%!”和“%>”之间放置Java的变量声明语句,变量的类型可以是Java语言允许的任何数据类型,我们将这些变量称为JSP页面的成员变量。如,<%!inta,b=10,c;Stringtom=null,jerry=”loveJSP”;Datedate;%>“<%!”和“%>”之间声明的变量在整个JSP页面内都有效,因为JSP引擎将JSP页面转译成Java文件时,将这些变量作为类的成员变量。这些变量的内存空间直到服务器关闭才释放。当多个客户请求一个JSP页面时,JSP引擎

4、为每个客户启动一个线程,这些线程由JSP引擎服务器来管理,这些线程共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。下面的例子3利用成员变量被所有用户共享这一性质,实现了一个简单的计数器例子3Example1_3.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%!inti=0;%><%i++;%>

您是第<%=i%>个访问本站的客户。在处理多线程问题时,我们必须注

5、意这样一个问题:当两个或多个线程同时访问同一个共享的变量,并且一个线程需要修改这个变量时,我们应对这样的问题作出处理,否则可能发生混乱。在上面的例子3中,可能发生两个客户同时请求Example1_3.jsp页面。在Java语言中我们已经知道,在处理线程同步时,可以将线程共享的变量放入一个synchronized块,或将修改该变量的方法用synchronized来修饰。这样,当一个客户用synchronized块或synchronized方法操作一个共享变量时,其它线程就必须等待,直到该线程执行完该方法或同步块。下面的例子4对例子3进行了改进。例子4Example1_

6、4.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%!Integernumber=newInteger(0);%><%synchronized(number){inti=number.intValue();i++;number=newInteger(i);}%>

您是第<%=number.intValue()%>个访问本站的客户。1.8.2声明方法在“<%!”和“%>”之间声明方法,该方法在整个JSP页面有效,但是该方法内定义的变量只在该方法内有效。这些

7、方法将在Java程序片中被调用,当方法被调用时,方法内定义的变量被分配内存,调用完毕即刻释放所占的内存。当多个客户同时请求一个JSP页面时,他们可能使用方法操作成员变量,对这种情况应给予注意。在下面的例子5中,通过synchronized方法操作一个成员变量来实现一个计数器。例子5Example1_5.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%!intnumber=0;synchronizedvoidcountPeople(){number++;}%><%countPeopl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。