1、本课程主要讲述内容:本课程主要讲述内容:需要具备的相关知识:v数据库基本知识v网络基础知识Dreamweaver的使用Eclipse3.2Java语言(成为JSP高手必备)本课程以实战为导向。课后认真自学上述相关基础知识。布置的思考与练习题目,尽可能课后认真上机实践(经济管理学院机房已经具备JSP环境)。、建立并且理解你的WebServer。、保证你理解HTML。花时间学习手工写作html是很有必要的。因为你将会使用JSP和HTML混合编程,精通HTML语法是重要的。所以,你必须能流利地写HTML。训练时间:24个星期。、开始学习Java。理解Java基础是很重要的。不用担心学习Swing或J
2、ava的图形方面,因为在JSP中你不会使用这些特征。集中精力在Java工作的细节,学习Java的逻辑,也在JavaBean上花时间。学习Applet是好的,但是就象Swing,JSP的大多数应用将不使用小程序。训练时间:36个星期。、学习JavaScript学习怎么将JavaScript在HTML中验证输入的Form元素。也学习JavaScript怎么能在一HTML页以内修改Form的元素。最后要求你能从一HTML页内的事件中触发JavaScriptFunction。训练时间:12个星期。、学习并且理解你的WebServer的更多细节。熟悉WebServer的特征,这是很重要的。训练时间:2天
3、。、建立你的JSPServer推荐以Tomcat开始。它可以很好地运行JSP程序。当你不能在生产使用Tomcat时,学习尽可能多的知识以便于更好的运行程序。另外,许多JSP程序员使用Tomcat。因此当你遇到一个问题时,你将容易发现帮助。安装时间:12天。、开始学习JSP。基本的JSP学习通过的步骤1到步骤6可以完成,然后使用JSP对象和脚本写JSP程序来联系。学习JSP的另外一个方面可以学习怎么创建一个分布式的应用程序。训练时间:46个星期。、学习更多的JSPserver。没有关于更多的JSPServer当然也可以运行jsp程序。然而,许多JSPserver都由自己特殊的特征,可以让你更好的
4、理解你的JSP工程。学习更多的Jspserver如何处理jsp程序是有必要的。同样也可以优化你的JSP应用程序,并且使之运行得更快而不出任何问题。训练时间:27天。、学习JDBC。JSP大多数应用将使用数据库,JDBC被用于数据库连接。经常忽略的一个事实就是,每个JDBCDriver所支持的东西是相当不同的。了解并熟悉在jsp工程上被使用的JDBCdriver的细节是很重要的。(有时这部分的学习被包含在前面Java或JSP的学习中了。)训练时间:12个星期。到现在,你已经成为了熟练的JSP程序员。仍然有很多需要学习,你可以考虑扩展你的知识比如DHTML,XML,java证书,JSPTagLib
5、raries或Servlets,看你想要造什么类型的网站而决定了。这些训练是JSP的核心。你不必都学习上面所有的,取决于你在工程中分配到什么任务和你已经有什么知识。但是这是成功地训练程序员的时间表。关键的单元是时间。平均的说,5个月时间确实能够训练一个人(从开始到完成)成为一个对jsp熟悉程序员。vJava开发工具包JDK1.5vTomcat5.5.7、resin2.xvDreamweaver2004MXvmySQL4.x、mySQL-Front3.1vEclipse3.2其它参考书籍:其它参考书籍:1.1.JSPJSP深入编程深入编程 希望电子出版社希望电子出版社2.2.网络编程语言网络编程
6、语言 JSPJSP实例教程实例教程 电子工业出电子工业出版社版社3.3.JSP/HTMLJSP/HTML编程实作教程编程实作教程 希望电子出版希望电子出版社社4.4.JSPJSP程序设计指南程序设计指南-初级程序员的基本技初级程序员的基本技能能 清华大学出版社清华大学出版社5.5.JSPJSP入门与提高清华大学出版社入门与提高清华大学出版社:http:/J著名的Apache Group的Jakarta小组开发(http:/www.jakarta.org)。JAVA_HOME:c:javajdk1.5.0classpath:.;C:javajdk1.5.0libtools.jar;C:javaj
7、dk1.5.0libdt.jarpath:%JAVA_HOME%bin;这一句放在最前面,否则eclipse启动不了MySQL是一个精巧的SQL数据库管理系统。由于它的强大功能、灵活性、以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache结合,为建立基于数据库的动态网站提供了强大动力!MySQL有瑞典的T.c.X公司负责开发和维护。MySQLMySQL是一个真正的多用户、多线程SQL数据库服务器。MySQLMySQL 主要目标是快速、健壮和易用。它可媲美任何昂贵的大型数据库,但速度更快。自1996年以来,许多机构一直都在使用MySQLMySQL。MySQL
8、MySQL建立的基础是业已用在高要求的生产环境多年的一套实用例程。尽管MySQLMySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。MySQLMySQL的官方发音是“My Ess Que Ell”(不是 MY-SEQUEL)。http:/www.eclipse.org/downloads/index.php 目前为止,大多数 Java 程序员都听说过 Eclipse,它正迅速成为最流行的 Java 编程环境。在目前所有的IDE中,Eclipse可以说是最有发展前途的产品之一。Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。目前由IBM牵头,围绕
9、着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase,最近Oracle也计划加入到Eclipse联盟中。Eclipse是否与其他花钱的IDE一样好?答案非常确定!对于编码、调试、重构、单元测试等等,Eclipse可以与任何一种IDE匹敌,甚至比它们还要好。与昂贵的JBuilder2005版本相比,您可能会发现Eclipse对很多特性的支持都比JBuilder更好。6。下载MyEclipseEclipse插件,收费软件。使Eclipse支持EJB、JSP
10、、Servlet等等。功能强大!http:/ JSP的形式和特点JSP为创建动态生成内容的Web页面提供了一个简捷而快速的方法,在众多Web开发工具中一枝独秀、独领风骚。特点:适用于任何平台、支持者众多程序的执行效率高拥有Java优势强大的服务器组件强大的数据库支持Write onceWrite once,run anywhere run anywhere!2.2 JSP与主流动态网页技术比较2.3 JSP的运行环境2.3.1 JSP运行环境需要的组件vJava 2软件开发工具箱。可以在sun公司http:/J免费下载。vJSP引擎(JSP应用服务器)。Resin、Tomcat、JRun、JS
11、WDK、Weblogic等等。2.3.2 常见的JSP应用服务器的配置vTomcat5.5.7的配置著名的Apache Group的Jakarta小组开发(http:/www.jakarta.org)。服务器主要配置:confserver.xml文件。自己开发的网站一般放置在webapps下。网站配置一般放在自己站点的WEB-INF/web.xml中vResin2.1.14的配置著名的Caucho公司的产品(http:/ JSP程序的初步体验一个简单的JSP程序:我的第一个我的第一个JSP程序程序1.如何配置系统环境?2.分别用tomcat和resin作为Web服务器,配置一个自己的站点,并编
12、写一个显示“欢迎光临本站点”的index.jsp程序。3.如何将自己站点的默认端口设置为80?4.站点目录能否放置在webapps以外的其它地方?5.创建一个站点,包含admin文件夹,该文件夹下的所有文件只允许用户admin(密码:123)、deparb(密码:456)访问。6.如何将自己站点的默认主页设置为myweb.jsp?3.1标记基础标记基础HTML语言是控制网页内容显示格式的标记集合,标记给浏览器提供了格式化Web文档的指令。1.基本的基本的HTML语法语法在HTML语言中,所有的标记都必须用尖括号(即小于号“”)括起来。也有一些标记只要求单一标记符号,例如换行标记。HTML标记不
13、区分大小写,但通常约定使用大写字母来表示,以利于HTML文档的维护。2.标记符的属性标记符的属性大多数标记都拥有一个属性集,通过这些属性可以对作用的内容进行更多的控制。在HTML语言中,所有属性都放置在开始标记的尖括号内。例如:心想事成。3.2HTML文档的基本结构文档的基本结构一个基本的HTML文档通常包含以下三对顶级标记。1.HTML标记标记.2.首部标记首部标记.首部标记用于提供与Web页有关的各种信息。在首部标记中,可以使用:和和和等等。3.正文标记正文标记.正文标记包含了文档的内容,文字、图像、动画、超链接以及其他HTML元素均位于该标记中。正文标记有下列属性。(1)BACKGROU
14、D:指定文档背景图像的URL地址,图像平铺在页背景上。(2)BGCOLOR:指定文档的背景颜色。(3)TEXT:指定文档中文本的颜色。(7)ONLOAD:指定文档首次加载时调用的事件处理程序。(8)ONUNLOAD:用于指定文档卸载时调用的事件处理程序。颜色属性的值有两种表示方法:使用颜色名称:例如红色、绿色和蓝色分别用red、green和blue表示;使用十六进制格式数值:#RRGGBB来表示,RR、GG和BB分别表示颜色中的红、绿、蓝三基色的两位十六进制数据。4.HTML文档的基本结构文档的基本结构HTML文档的基本结构可以表示如下:标题文字文本、图像、动画、HTML指令等5添加注释添加注
15、释注释由开始标记构成。3.3设置文本格式设置文本格式3.3.1分段与换行分段与换行段落是文档的基本信息单位。将文档划分为段落,可以通过使用分段标记、换行标记、标题标记或插入水平线来实现。1.分段标记分段标记P2.换行标记换行标记BR标记强行规定了当前行的中断,使后续内容在下一行显示。3.标题标记标题标记Hn其中n的取值是1到6;.标记表示字体最大的标题,标记表示字体最小的标题。4.水平线标记水平线标记HRHR标记在文档中添加一条水平线,用来分开文档的两个部分。该标记有以下属性:(1)ALIGN:指定线的对齐方式,取值为left(左对齐)、center(居中对齐)或right(右对齐),默认值为
16、center。(2)COLOR:指定线的颜色。(3)NOSHADE:若指定该项,则显示一条无阴影的实线。(4)SIZE:指定线的宽度,以像素为单位。(5)WIDTH:指定线的长度,单位可以是像素或百分比(占页面宽度的百分比)。3.3.2设置段落对齐方式设置段落对齐方式使用ALIGN属性来设置段落的对齐方式。ALIGN属性的取值可以是:left(左对齐)、center(居中对齐)、right(右对齐)以及justify(两边对齐)。3.3.3设置字体、字号和颜色设置字体、字号和颜色字体标记.来设置文本的字符格式,并通过FACE、SIZE和COLOR属性来设置文本的字体、字号和颜色。例如:超文本标
17、记语言3.3.4设置字符样式设置字符样式.粗体粗体.大字体.斜体.删除线.小字体.删除线.上标.下标.固定宽度字体.下划线3.3.5插入特殊字符插入特殊字符可以使用两种方式来输入特殊符号:即使用字符实体名称或数字表示方式。例如,若要在网页中输入一个无间断空格,可以输入“ ”或“ ”,等等。表2.3列出了常用特殊符号的实体名称或数字表示。3.4使用图像使用图像使用IMG标记在网页中插入一个图像。1.SRC和和ALT属性属性IMG标记有许多属性,其中最常用的是SRC和ALT属性SRC属性给出图像文件的URL地址,图像可以是JPEG文件、GIF文件或PNG文件。ALT属性给出图像的简
18、单文本说明。2.指定图像的高和宽指定图像的高和宽当使用IMG标记在网页中插入一个图像时,可以通过HEIGHT和WIDTH属性来设置图像的高度和宽度3.5使用字幕和背景音乐使用字幕和背景音乐3.5.1插入字幕插入字幕要滚动显示的文本信息MARQUEE标记的主要属性有:(1)ALIGN:指定字幕与周围文本的对齐方式,其取值可以是top、middle或bottom。(2)BEHAVIOR:指定文本动画的类型,其取值可以是scroll、slide或alternate。(3)BGCOLOR:指定字幕的背景颜色。(4)DIRECTION:指定文本的移动方向,其取值可以是down、left、right或up
19、。(5)HEIGHT:指定字幕的高度,以像素或百分比为单位。(6)HSPACE:整数,指定字幕的外部边缘与浏览器窗口之间的左右边距(像素)。(7)SCROLLAMOUNT:整数,指定字幕文本每次移动的距离,以像素为单位。(8)SCROLLDEALY:整数,指定与前段字幕文本延迟多少ms后重新开始移动文本。(9)VSPACE:整数,指定字幕的外边缘与浏览器窗口之间的上下边距(像素)。3.5.2插入背景音乐插入背景音乐使用标记在网页中添加背景音乐,该标记只允许放置在HEAD部分。标记的属性:(1)BALANCE:整数,指定如何将声音分成左声道和右声道。取值为-10,000+10,000,默认值为0
20、。(2)LOOP:整数,指定声音播放的次数。如果设置为0,则播放一次;如果设置为大于0的整数,则播放指定的次数;如果设置为-1,则声音反复播放,直到页面卸载。(3)SRC:指定要播放的声音文件的URL。常用的声音文件类型是波形文件(.wav)、MIDI文件(.mid)、AIFF文件(.aif)、AU文件(.au)以及MP3文件(*.mp3)等。(4)VOLUME:整数,指定音量高低,其取值为-10,0000,默认值为0。3.6使用表格使用表格表格标题文字标题标题标题数据数据数据数据数据数据数据数据数据3.7使用超链接使用超链接1.理解超链接超链接是由源端点到目标端点的一种跳转。主要形式:(1)
21、文件链接:这种链接的目标端点是的一个文件,它可以位于当前网页所在的服务器,也可以位于其他服务器。名称(2)E-mail链接:通过这种链接可以启动电子邮件客户端程序(如Outlook或FoxMail等),并允许访问者向指定的地址发送邮件。给我写信2.理解路径理解路径路径是指从站点根文件夹或当前文件夹起到目标文件所经过的路线。路径有以下几种类型:(1)绝对路径:也称为绝对URL,它给出目标文件的完整URL地址,包括传输协议在内。如果要链接的文件位于外部服务器上,则必须使用绝对路径。(2)相对路径:也称为相对URL,是指以当前文档所在位置为起点到目标文档所经过的路径。3.8使用表单使用表单什么是表单
22、?表单是用来收集站点访问者信息的域集。3.8.1创建表单创建表单在HTML语言中,表单通过FORM标记来定义,基本语法格式如下:FORM标记具有以下属性:(1)NAME:指定表单的名称,以标识表单。命名表单后,可以使用脚本语言(如VBScript或JScript)来引用或控制该表单(2)METHOD:post、get。(3)ACTION:指定将要接收表单数据的服务器端程序或动态网页的网址。(4)onSubmit:指定提交表单时调用的事件处理程序。(5)onReset:指定重置表单时调用的事件处理程序。(6)TARGET:指定一个目标窗口,其取值为:_blank、_parent、_self、_t
23、op。3.8.2使用输入型表单控件使用输入型表单控件1。input输入域格式:姓名籍贯 此外:type的取值还可能是:password、checkbox、radio、image、hidden、reset等。2。下拉列表框用于列表选择。例如:湖北 湖南 江苏 浙江 福建 用法:或者:function isDigit(theNum)var theMask=0123456789;if(theNum=null|theNum.length=0)return false;if theMask.indexOf(theNum)=-1)return false;return true;v示例3电子邮件地址格式的
24、确认function isEmail(theEmail)var email=theEmail;email=email.replace(/(s*)|(s*$)/g,);if(email=)alert(“请输入您的Email地址,地址不能为空!);return false;if(email!=)var notValid=false;var useremail=email;if(useremail.indexOf()=0)notValid=true;if(useremail.charAt(useremail.length-1)=)notValid=true;if(useremail.indexOf(
25、.)=0|useremail.indexOf(.)=useremail.indexOf()notValid=true;if(useremail.indexOf(.)=useremail.indexOf()+1)notValid=true;if(useremail.indexOf(.)=(useremail.length-1)notValid=true;if(notValid)alert(您的Email地址不正确,请重新输入!);return(false);4.1.1 开始和结束标记 以结尾,格式:例如:4.1.2 注释注释是帮助自己或别人阅读程序。注释可以有两种形式,HTML注释、JSP注释。
26、vHTML注释:vHTML注释:注释的内容会在客户端的HTML源代码中出现。例如:vJSP注释客户端查看源代码时看不到(安全考虑)。格式:示例:用户留言用户留言4.1.3 基本数据类型1)整型三种形式:十进制、八进制(0开头)、十六进制(0 x开头)。具体类型如下:byte类型有符号,范围-128127。例如:byte a,b=12;short类型(很少使用)有符号,范围-3276832767。例如:short d,e234;int类型有符号,范围-2147483684 2147483683。例如:int x,y=12;long类型有符号,范围-264 264-1。例如:long x,y=-0
27、 x12;2)实型Float类型(单精度)例如:float x,y123.56;double类型(双精度)例如:float x,y123.56;3)布尔型boolean只有true和false两种值例如:boolean x,y,zfalse;3)字符型char用单引号括起来。例如:char xx123;思考:char rtnn;表示什么?4)字符串型String用双引号括起来的一串字符。例如:String myStr=“xyz”;注意:是对象,而非数据!有以下重要方法:length()、boolean equals(String str)String substring(int beginIn
28、dex)String substring(int beginIndex,int endIndex)boolean startsWith(String prefix)int indexOf(String str)向后向后int indexOf(String str,int fromIndex)向后向后String toLowerCase()String toUpperCase()String trim()String replaceAll(String regex,String replacement)该方法用字符串replacement的内容替换当前字符串中遇到的所有和字符串regex相一致的
29、子串,并将产生的新字符串返回。思考:如何判断一个字符串是否是一个合法思考:如何判断一个字符串是否是一个合法的的emailemail地址?地址?4.1.4 运算符v关系运算符用来比较两个值,并返回布尔型的值true或false。v布尔逻辑运算符进行布尔逻辑运算,包括&、|、!等int x=12,y=85;boolean z=(x78);v算术运算符进行加、减等运算。inti=6,j,k,s;k=(j=+i);i,j,k=?s=(j=i-);i,j,s=?v三目条件运算符 格式:x?y:z;上面的三目条件运算的规则是:先计算表达式x的值,若x为真,则整个三目运算的结果是表达式y的值;若x为假,则整
30、个三目运算的结果是表达式z的值。下面的例子实现了从两个数中找出较大的数的功能。int a=3,b=4;int max=ab?a:b;三目条件运算是可以嵌套的,如有以下的语句,则max表示的是a、b、c三个数中的最大值,其值为5。int a=3,b=4,c=5;int max=(ab?a:b)c?(ab?a:b):c;1 1、格式:、格式:例如:例如:2 2、JSP JSP表达式和程序段表达式和程序段vJspJsp表达式的语法形式:表达式的语法形式:%=%例如:例如:数值为:数值为:vJspJsp程序段程序段包含在包含在%之间的有效程序段。具体形式:之间的有效程序段。具体形式:%例如:例如:4.
31、3.1结构化程序设计的三种基本流程结构化程序设计的三种基本流程 1 1自顶向下自顶向下 2 2逐步求精逐步求精 3 3模块化模块化 除了以上的原则,结构化程序设计还有一个重要的规定,那就是只能使用“顺序结构”、“选择结构”、“循环结构”这三种基本结构(或由它们派生出来的结构)来定义程序的流程。三种基本流程控制结构示意图分别如图3-1所示。4.3.2 .2 选择结构选择结构 选择结构又称为分支结构,是在两种或两种以上的多条执行路径中选择一条执行的控制结构。1 1ififelseelse语句语句 if(条件表达式)条件表达式)语句组语句组1;else 语句组语句组2;在ifelse语句中,else
32、部分是选择性的。经常可以看到只有if语句,而没有else语句的情况。在这种情况下,当测试条件为假时如不需做任何事,else部分可被省略。这时,其语法形式如下:ifif(条件表达式)条件表达式)语句组;语句组;思考:求思考:求3 3个数中的最大者?个数中的最大者?2switch语句语句 switch语句(又称开关语句)是和case语句一起使用的,其功能是根据某个表达式的值在多个case引导的多个分支语句中选择一个来执行。它的一般格式如下:switch(表达式)表达式)case 判断值判断值1:语句块:语句块1 case 判断值判断值2:语句块:语句块2 case 判断值判断值n:语句块语句块n
33、default:语句块语句块n+1 switch后面括号中表达式的值必须是符合byte,char,short,int类型的常量表达式,而不能用浮点类型或long类型,也不能为一个字符串。一个switch语句可以代替多个ifelse语句组成的分支结构,而switch语句从思路上显得更清晰。float a=9,b=3,result=0;char op=+;switch(op)case+:result=a+b;case-:result=a-b;case*:result=a*b;case/:result=a/b;default:result=0;out.println(result=+result);
34、4.3.3循环结构循环结构 循环结构是程序中一种重要的基本结构,是指在一定的条件下反复执行某段程序,被反复执行的这段程序称为“循环体”。Java中有三种语句来实现循环结构,分别是while,do-while和for语句。1 1whilewhile语句语句while语句的格式如下:while(while(条件表达式条件表达式)循环体语句;循环体语句;例:用while语句计算10!int n=10;long result=1;while(n=1)result*=n-;/改写该语句?out.println(10!=+result);2do-while语句语句 do-while语句的格式如下:do 循
35、环体语句;循环体语句;while(条件表达式条件表达式)例:用do-while语句计算10的阶乘 int n=10;long result=1;doresult*=n-;while(n=1);System.out.println(10!=+result);3 3forfor语句语句 for(for(表达式表达式1 1;表达式;表达式2 2;表达式;表达式3)3)循环体语句;循环体语句;for语句的执行过程:(1)在循环刚开始时,先计算表达式1。(2)根据表达式2的值来决定是否执行循环体。表达式2是一个返回布尔值的表达式,若该值为假,将不执行循环体,并退出循环;若该值为真,将执行循环体。(3)执
36、行完一次循环体后,计算表达式3。(4)转入第(2)步继续执行。例1:int n;long result;for(n=10,result=1;n0;n-)result*=n;out.println(10!=+result);例2:for(i=0;i2;i+)for(j=0;j2;j+)for(k=0;k2;k+)out.print(i+j+k);out.println();4.3.4跳转语句跳转语句跳转语句用来实现循环执行过程中的流程转移。有两种跳转语句:break语句和continue语句。其中,break用于强行退出循环,不执行循环中剩余的语句。而continue则停止执行当前的循环,开始新
37、的循环。int n;for(n=1;n=10;n+)if(n%2=0)break;/修改为continue结果如何?out.println(n=+n);4.3.5异常处理语句异常处理语句当发生例外时,采用异常处理机制。Java采用try-catch-finally结构处理错误。try-catch的实际意思是:尝试这块可能导致异常的代码。如果它执行正常,那么继续执行下面的程序。如果该代码无法执行,捕获该异常并对它进行处理。基本形式:try /程序块 catch(ExceptionType e)/对ExceptionType的处理例如:try File cf=new File(“c:/incfil
38、es/counter.txt);catch(Exception e)out.println(“无法找到文件!);假定在你的代码中有一些动作,不管发生什么情况,无论异常是否被抛出,你都必须执行这些操作。则需要使用finally子句。例如:try readTextfile();catch(IOException e)out.println(”该文件不存在!”);finally closeTextfile();总结一下try-catch-finally结构的形式:try /程序块 catch(ExceptionType e)/对ExceptionType的处理 finally /必须处理的程序语句J
39、SPJSP程序中除了普通程序中除了普通HTMLHTML代码外,还可以嵌入代码外,还可以嵌入JavaJava程序程序代码,二者可以混合使用。代码,二者可以混合使用。例如:例如:示例示例数值为:数值为:思考:如何利用思考:如何利用JSPJSP语句输出斜体的语句输出斜体的“武汉科技学院武汉科技学院”?“Page”指令用于定义JSP文件中的全局属性。%page language=java import=package.class|package.*,.session=true|false buffer=none|8kb|sizekb contentType=charset=characterSet|t
40、ext/html;charset=ISO-8859-1 isErrorPage=true|false 武汉科技学院毕业生就业指导服务中心缓存是一种用于提高系统性能节省操作时间的技术,数据库产品利用它可以提高系统的吞吐率,服务器利用它可以提高性能。缓存是将响应内容临时保存在服务器的内存中,然后在请求处理完毕之后发回给所调用的浏览器。在Web应用程序中,提高系统性能最有效的手段是在需要时缓存页面的输出。在JSP页面最好使用输出缓存功能。缓存设置方法:通常情况下,默认缓存大小为8KB。缓存设置格式:在大多数Web应用程序中,缓存大小至少应为32kb,牺牲这么一点额外的内存是很值得的。include:
41、向当前页中插入一个静态文件的内容。格式如下:示例:武汉科技学院毕业生就业指导服务中心JSP语法 用于引入定制标签库属性1uri=URIToTagLibrary Uniform Resource Identifier(URI)根据标签的前缀对自定义的标签进行唯一的命名,URI可以是以下的内容:Uniform Resource Locator(URL),由 RFC 2396 定义,可以从以下位置查看(http:/www.hut.fi/u/jkorpela/rfc/2396/full.html)。Uniform Resource Name(URN),由 RFC 2396定义 一个相对或绝对的路径 可
42、以是标签库描述文件2prefix=tagPrefix 表示标签在JSP中的名称。在自定义标签之前的前缀,比如,在中的public,如果这里不写public,那么这就是不合法的。请不要用jsp,jspx,java,javax,servlet,sun,和sunw做为你的前缀,这些已被Sun公司声明保留。JSP 语法格式如下:1jsp:forward page=relativeURL|/2jsp:forward page=relativeURL|jsp:param name=parameterName value=parameterValue|/(“”指可以有多个“”标记。)1、page=relat
43、iveURL|这里是一个表达式或是一个字符串用于说明你将要定向的文件或URL。这个文件可以是JSP,程序段,或者其它能够处理request对象的文件(如asp,cgi,php)。2jsp:param name=parameterName value=parameterValue|/向一个动态文件发送一个或多个参数,这个文件必须是动态文件。如果想传递多个参数,可以在一个JSP文件中使用多个“”;“name”指定参数名,“value”指定参数值。test“out”对象代表了向客户端发送数据的对象。out.print()out.println();out.close()用于获取客户端的输入信息。主要
44、有以下方法:vgetParameter(String name)(很重要)获得客户端传给服务器端的参数值String usrmerequest.getParameter(“username”);vgetRequestURI()获得所请求的URL地址 姓名 你好,今天是 号,星期 你好,独孤求败,今天是 9号,星期1 用于处理HTTP信息。有以下方法:vsetHeader(String name,String value)发送HTTP信息,控制客户端和服务器端连接。例如:Response.setHeader(“Location”,”http:/”);Response.setHeader(“Ref
45、resh”,”2”);vsendRedirect(String url)response.senRedirect(“http:/”);“session”对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。“session”对象建立在cookie的基础上,所以使用时应注意 判 断 一 下 客 户 端 是 否 打 开 了cookie。常用的方法包括getId、getValue、getValueNames和putValue等。说明:HTTP是无状态(stateless)协议;WebServer对每一个客户端请求都没有历史记忆;Sess
46、ion用来保存客户端状态信息;由WebServer写入;存于客户端;客户端的每次访问都把上次的session记录传递给WebServer;WebServer读取客户端提交的session来获取客户端的状态信息;Session的常用方法:的常用方法:%setAttribute(参数名,参数值):设置指定name的属性值value,并存储在session中。例如:session.setAttribute(“myname”,”tom”);%getAttribute(参数名):获取与参数名相联系的属性值。例如:session.getAttribute(“myname”);%removeAttribut
47、e(参数名):删除与指定参数名相联系的属性。例如:session.removeAttribute(“myname”);姓名 你的名字已经写入session check 您还未登录 已经登录 “application”对象负责提供应用程序在服务器中运行时的一些全局信息,常用的方法有getMimeType和getRealPath等。application对象负责提供应用程序对象负责提供应用程序在服务器中运行时的一些全局信息。在服务器中运行时的一些全局信息。(setAttribute(参数名,参数值)例如:application.setAttribute(counter,1);(getAttribu
48、te(参数名)例如:application.getAttribute(counter);网页计数器您是第位访问者!“config”对象提供一些配置信息,常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。“page”对象代表了正在运行的由JSP文件产生的类对象,不建议一般读者使用。“exception”对象则代表了JSP文件运行时所产生的例外对象,此对象不能在一般JSP文件中直接使用,而只能在使用了“”的JSP文件中使用1.编写用户登录程序,根据登录用户的不同,显示不同页面。2.编写网站计数器。3.利用session编写
49、购物车程序。7.1文件操作7.2Cookie的管理7.3文件上传的实现 File是java.io包的一部分,它代表一个文件或文件夹的引用。格式:File(String)创建一个File对象,如果没有指定文件名,则创建一个文件夹。例如:File myfile=new File(“d:counter.txt”);常用方法:exists()、delete()、mkdir()FileReader读取字符流,逐个字符读取,格式:FileReadertxt=newFileReader(文件名)例如:FileReader txt=new FileReader(“counter.txt”)BufferedRe
50、ader读取字符输入流,一次读取一行,格式:BufferedReader buff=new BufferedReader(Reader);例如:BufferedReader buff=new BufferedReader(new FileReader(“counter.txt”);BufferedWriter写入一个带缓冲的字符流。格式:BufferedWriterBufferedWriter(FileWriterFileWriter)例如:File tmpf=new File(“d:xy.txt”);BufferedWriterBufferedWriter outfoutf=new =new