您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > JSP初学者幻灯片教程
JavaServerPages(JSP)网页程序设计2第三讲JSP语法及内置对象3.1Java基础知识3.2JSP语法3.3JSP内置对象3.4HTML表单3.5JSP与客户机的交互3.6实践:练习JSP编程33.2JSP语法概述基本语法4复习JSP的概念JavaServerPageServlet简化设计,逻辑与界面设计分开,开发更方便;HTML语法的java扩展,加入新的标签(%,%,…);强大的组件(JavaBean)支持功能;5JSP文件结构及主要标签%@pagecontentType=text/html;charset=gb2312%%@pageimport=java.util.*“%...HTMLBODY其他HTML语言%符合JAVA语法的JAVA语句%其他HTML语言/BODY/HTML6JSP示例(Hello.jsp)%@pagecontentType=text/html;charset=gb2312%%@pageimport=java.util.*%HTMLBODY%for(inti=0;i2;i++){%你好br%}%/BODY/HTMLHTMLBODY你好br你好br/BODY/HTML7JSP执行过程*.jsp*.java*.classrequestresponse执行jspparserJSDKservletservlet分析器8JSP执行过程查找对应的JSP文件是否存在YN是否是修改或创建后第一次调用Y调用JspParser将其编译成Servlet程序调用JSDK将对应的Servlet程序编译成Servlet字节码执行(若未载入则先载入)已有的对应的Java字节码N9JSP示例(Hello_Date.jsp)%@pageimport=java.util.*%%@pagecontentType=text/html;charset=gb2312%HTMLBODY你好,今天是%Datetoday=newDate();%%=today.getDate()%号,星期%=today.getDay()%/BODY/HTMLimportjava.util.*;response.setContentType(text/html;charset=gb2312);out=pageContext.getOut();out.write(“\r\n\r\nHTML\r\nBODY\r\n你好,今天是\r\n);Datetoday=newDate();out.print(today.getDate());out.write(号,星期);out.print(today.getDay());out.write(\r\n/BODY\r\n/HTML\r\n);JSP文件servlet文件10JSP示例(浏览结果)11JSP语法概述JSP原始代码中包含了JSP元素和Template(模板)data两类Templatedata指的是JSP引擎不处理的部分,即标记%……%以外的部分,例如代码中的HTML的内容等,这些数据会直接传送到客户端的浏览器JSP元素则是指将由JSP引擎直接处理的部分,这一部分必须符合JSP语法,否则会导致编译错误。12jsp例子(hi.jsp)htmlheadtitleHi-JSP实验/title/headbody%StringMsg=ThisisJSPtest.;out.print(HelloWorld!);%h2%=Msg%/h2/body/htmlTemplatedataJSP元素13JSP语法JSP语法分为三种不同的类型编译器指令(DIRECTIVE)例如:%@pageimport=“java.io.*”%脚本语法(SCRIPTING)动作语法(ACTION)例如:jsp:forward,jsp:getProperty,jsp:include14脚本语法脚本语法包括“HTML注释”:!—comments--“隐藏注释”:%--comments--%“声明”“表达式”“脚本段”15编译器指令编译器指令包括“包含指令”,“页指令”和“taglib指令”它们包含在“%@%”卷标里。两个主要的指令是page与include。16动作语法动作语法包括jsp:forward,jsp:include,jsp:plugin,jsp:getProperty,jsp:setProperty和jsp:useBean。17HTML注释JSP语法格式如下:!--comment[%=expression%]--或!--注释[%=表达式%]--这种注释发送到客户端,但不直接显示,在源代码中可以查看到。18HTML注释(peixun2.1.jsp)htmlheadtitleHTML注释/title/headbody!--Thisfiledisplaystheuserloginscreen--未显示上一行的注释。/body/html19HTML注释20HTML注释(peixun2.2.jsp)htmlheadtitle要多加练习/title/headbody!--Thispagewasloadedon%=(newjava.util.Date()).toLocaleString()%--在源文件中包括当前时间。/body/html21HTML注释22IE中的源程序有注释23隐藏注释JSP语法格式如下:%--注释--%不发送到客户端。24隐藏注释(peixun2.3.jsp)htmlheadtitleACommentTest/title/headbodyh2ATestofComments/h2%--Thiscommentwillnotbevisibleinthepagesource--%/body/html25隐藏注释26在IE中查看源代码27声明JSP语法格式如下:%!declaration;[declaration;]...%或%!声明;[声明;]...%28声明(test2.4.jsp)%@pagelanguage=”java”import=”java.util.*”%htmlheadtitletest2.4.jsp/title/headbody%!inti=0;%%!inta,b,c;%%!Datedate;%/body/html29表达式用于在页面上输出信息,语法格式如下:%=expression%或%=表达式%30表达式(peixun2.4.jsp)%@pagelanguage=javaimport=java.util.*%htmlheadtitletest/title/headbodycenter%!Datedate=newDate();%%!inta,b,c;%31表达式%a=12;b=a;c=a+b;%fontcolor=blue%=date.toString()%/fontbrba=%=a%/bbrbb=%=b%/bbrbc=%=c%/bbr/center/body/html32peixun2.4.jsp执行结果33脚本段JSP语法格式如下:%codefragment%或%代码%34脚本段(peixun2.5.jsp)%@pagelanguage=javaimport=java.util.*%%!intcondition;%htmlheadtitletest/title/headbody35%condition=1;switch(condition){case0:out.println(Youmustselectcondition0!+br);break;case1:out.println(Youmustselectcondition1!+br);36break;case2:out.println(Youmustselectcondition2!+br);break;default:out.println(Yourselectnotin\0,1,2\,selectagain!!+br);}%/body/html转义符:双引号\“,单引号\’,反斜杠\\,回车\r,换行\n,制表符\t,退格\b37脚本段执行结果38包含指令include指令:向当前页中插入一个静态文件的内容。JSP语法格式如下:%@includefile=relativeURL%或%@includefile=相对位置%39包含指令(peixun2.6.jsp)htmlheadtitletest/title/headbodybgcolor=whitefontcolor=blueThecurrentdateandtimeare%@includefile=“peixun2.6.1.jsp%/font/body/html40“peixun2.6.1.jsp”%@pageimport=java.util.*%%=(newjava.util.Date()).toLocaleString()%41包含指令42Page指令“Page”指令用于定义JSP文件中的全局属性。JSP语法格式如下:%@page[language=java][extends=package.class][import={package.class|package.*},...][session=true|false][buffer=none|8kb|sizekb]43Page指令[autoFlush=true|false][isThreadSafe=true|false][info=text][errorPage=relativeURL][contentType=mimeType[;charset=characterSet]|text/html;charset=ISO-8859-1][isErrorPage=true|false]%44Page指令属性:1.language=java声明脚本语言的种类,目前只能用java。2.import={package.class|package.*},...需要导入的Java包的列表,这些包作用于程序段,表达式,以及声明。下面的包在JSP编译时已经导入了,所以就不需要再指明了:java.lang.*javax.servlet.*javax.servlet.jsp.*javax.servlet.http.*453.errorPage=relativeURL设置处理异常事件的JSP文件。4.isErrorPage=true|false设置此页是否为出错页,如果被设置为true,你就能使用exception对象46page指令详说“%@page%”指令作用于整个JSP页面,同样包括静态的包含文件。但是“%@page%”指令不能作用于动态的包含文件,比如“jsp:include”。可以在一个页面中用上多个“%@page%”指令,但是其中的属性只能用一次,不过也有例外,那就是import属性。因为import属性和Java中的import语句类似(参照JavaLanguage,import语句引入得是Java语言中的类),所以此属性就能多用几次。无
本文标题:JSP初学者幻灯片教程
链接地址:https://www.777doc.com/doc-3818064 .html