1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Company Logo,*,Java Web,程序设计,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,Java Web,应用开发,JAVA WEB,应用开发,项目三 用户管理(,JSP,基础),工作任务,任务一 掌握,JSP,编程技能,任务,1-1,JSP,结构;,任务,1-2,JSP,注释;,任务,1-3,JSP,指令标签,任务,1-4,JSP,动作标签,任务,1-5 JSP,内置对象,任务,1-6 JSP,访问数据库,任务,1-7,页面排错,;,任务二 数据
2、表设计,任务三 普通用户注册,任务四 普通用户登录,任务五 查询、删除用户信息,2,3,学习目标,掌握,JSP,指令标签的使用,page,指令,include,指令,taglib,指令,掌握,JSP,动作标签的使用,一、,JSP,的指令标签,JSP,的指令标签,在,JSP,页面转换阶段提供整个,JSP,页面的相关信息。,包括,page,指令,用于传递与页面相关的信息,如缓冲区信息、线程信息和出错处理信息等,include,指令,用于在页面中包含一个外部的文档。,如著作权文档或者公司信息文档,把通用内容写在一个文档,然后包含在各个页面中,比直接写在各个,JSP,页面中更容易维护。当然,被包含的文
3、件也可能是另一个,JSP,文件。,taglib,指令,用于指出页面可以调用的一个客户标识库,常用于自定义标识,5,什么是,page,指令,page,指令,通过设置内部的多个属性来定义整个页面的属性,语法:,page,指令常用属性,属性,描述和用法,language,在编写,JSP,页面时要用的脚本语言,默认为,java,用法,:,contentType,回应,MIME,类型(多用途,Internet,邮件扩充类型)。属性的值默认为,text/html,。,例如:,import,用来在,JSP,页面引入包或类,例如:,session,用来指出关于,JSP,页面的会话数据的可用性。默认为,true
4、例如:,errorPage,错误页面的,URL,。例如:,isErrorPage,指定是否将当前页面作为,JSP,错误页面。如果是,true,,则是,否则不是。例如:,1.import,属性,导入,JSP,页面中使用的,Java,类,一个,import,属性可以导入多个,Java,类,中间用,逗号,隔开,例如:,上述代码也可以写成:,无须导入的类包,java.lang.*,、,javax.servlet.*,、,javax.servlet.jsp.*,、,javax.servlet.http.*,2.contentType,属性,指定返回浏览器的内容类型属性值。,可以是,text/pla
5、in,(纯文本文件),text/html,(纯文本的,HTML,页面),application/x-msexcel,(,Excel,文件),application/x-msword,(,Word,文件),contentType,属性还可以指定字符编码格式。,如果需要在返回浏览器的,HTML,页面中使用中文字符,可以使用下列,page,指令:,3.pageEncoding,属性,指定,JSP,页面的字符编码,默认是,ISO-8859-1,处理汉字编码。一般设置为,:,GB2312,、,GBK,在创建,JSP,页面时,默认支持中文编码:,MyEclipse Enterprise Workbench
6、Files and Editors-JSP,设置“,Encoding,”值为“,Chinese,。”,4.errorPage,属性,指定错误或异常处理页面,当页面出现异常或错误时,浏览器显示该属性指定的页面。,例如:,/testError.jsp,/error.jsp,数据格式异常!,5.isErrorPage,属性,指定当前,JSP,页面是否可以作为另一,JSP,页面的错误处理页面,值为,true,,在页面中可以,捕获,JSP,页面中的异常对象,exception,false,,不可以,6.,其他属性,session:,值为,true,,则,JSP,页面中可以使用,session,对象等,
7、否则不能使用,info:,设置,JSP,页面的信息字符串,isThreadSafe,:值为,true,,则可以多线程访问,否则只能响应一个用户的请求,buffer:,设置,out,的缓存大小,可为,none,或其他值,(kb),autoFlush:,值为,true,,则,out,的缓冲区满,自动刷新,若为,false,,则出现溢出异常。,12,page,指令用法改错,请指出如下,JSP,页面的错误,My JSP index.jsp starting page,This is my JSP page.,国,有中文,要求用,GBK,或,GB2312,字符集,课堂实践,除,import,外其他属性指
8、定多次无意义,page,指令可以在任何位置,作用范围都是整个页面,pageEncoding,指定字符集有冲突,总结,page,指令,格式:,注意,无论,page,指令的位置,作用范围是整个,JSP,页面,最好放前面,可使用多个,page,指令来指定属性及值,除了,import,属性可以指定几个值,其他属性一般使用一次指定值。,错误,二、,include,指令,在该指令处插入一个文件,格式为:,静态:在,JSP,页面转换成,Servlet,之前,将代码嵌入原文件中。,插入的文件可以是,.txt,Html,jsp,文件,文件路径一般使用相对路径,若以“,/,”开头,则是相对于工程的根目录,若无“,
9、/,”开头,则是相对于当前,JSP,文件的路径,若以“,./,”开头,则表示当前目录的上一级目录,思考:网站所有的页面都有统一的页眉和页脚,如何设置每个页面的页眉和页脚,例如:,include,指令,/testinclude2.jsp,/,与,JSP,文件在相同目录下,这里是,testInclude.jsp,的输出:,北京欢迎您!,/header.html,北京,2008,include,指令小结,include,指令是代码包含,在翻译阶段将被包含的文件插入到,servlet,中。,不管被包含文件是静态,(txt,或,html),还是动态,(jsp),,最终只会有一个,class,文件,文件和
10、被包含文件中一般,不要定义同名变量和方法,【,注意,】,若被包含的,txt,或,html,文件中有中文,则一般要在头部加上,JSP,的,page,指令标签,进行中文处理。,三、,taglib,指令,用于引入,JSP,页面中需要使用的标签库的定义,以便在页面中使用标签库中定义的标签,例如:,任务小结,指令标签,page,指令、,include,指令以及,taglib,指令。,JSP,中的编译指令。编译指令就是告诉,JSP,的引擎,如何处理其他的,JSP,网页。,JSP,编译指令的语法格式如下:,19,任务,1-4,JSP,动作标签,为,JSP,页面的,执行阶段,提供信息,,20,个:,在当前页面
11、包含静态和动态资源,为其他标签提供附加信息,请求转发,用于访问,JavaBean,其他的动作标签,.,一、,param,动作标签,param,动作标签,与,include,、,forward,等标签一起使用,以名,-,值的形式为这些标签提供附加信息。,格式为,属性,name,参数的名字,value,参数,当与,标签一起使用时,可以将,param,标签中的值传递到,include,指令要加载的文件中去。,用单个,二、,include,动作标签,在当前页面上包含,静态和动态,资源,格式,不带参数:,带参数格式为:,区别,include,指令标签是代码包含、,翻译时,加载,将被包含文件加到原文件中,
12、include,动作标签是结果包含、,运行时,加载,被包含文件和原文件独立运行,查看,work,下的文件,不带参数,用单个,带参数,用一对,作业:,include,指令和,include,动作标签的区别,动作标签 例子,/tom.jsp,%String str=request.getParameter,(“p1);,/,获取值。,int n=Integer.parseInt(str);,int sum=0;,for(int i=1;i,从,1,到,的连续和是:,/param.jsp,加载文件效果:,JSP,的动作标签,课堂练习,a.jsp,中使用,include,动作标签加载,b.jsp,,加
13、载时向,b.jsp,传送某学生的姓名、学号、年龄,,b.jsp,获取并显示这些数据,三、,forward,动作标签,格式,属性,page,被转发的相对于当前,JSP,页面的路径,注意,把当前的,JSP,页面重定向到另一个页面,用户看到一个页面的地址,内容是另一个的。,执行页面可以通过,param,动作标签传送参数。,不带参数,用单个,带参数,用一对,forward,动作标签 例子,/come.jsp,您传过来的数值是,:,forward,动作标签,说明:,forward,指令从指令,出现的位置,开始停止当前页面的执行,其后的语句不会再执行,可以向跳转的页面中传递参数:,使用,param,指令直
14、接传值,在,param,中使用表达式传值,value=,“”,使用,URL,传值,forward,动作标签,课堂练习,c.jsp,使用,forward,动作标签转向,d.jsp,,转向时向,d.jsp,传送两个整数。在,d.jsp,中获取这两个整数,并计算其加、减、乘、除,四、其他动作标签,plugin,用来根据浏览器的类型,插入通过,Java,插件允许的,JavaApplet,所必须的元素。,useBean,用来生成一个,bean,组件,并设定它的,id,和使用范围。以后要学,setProperty,用来在一个,JSP,页面设置已创建的的,bean,的属性值,getProperty,用来返回
15、一个,JSP,页面设置已创建的的,bean,的属性值,29,任务总结,动作标签,利用,JSP,动作可以动态地插入文件、重用,JavaBean,组件、把用户重定向到另外的页面、为,Java,插件生成,HTML,代码。,jsp:include:,在页面被请求的时候引入一个文件。,jsp:useBean:,寻找或者实例化一个,JavaBean。,jsp:setProperty:,设置,JavaBean,的属性。,jsp:getProperty:,输出某个,JavaBean,的属性。,jsp:forward:,把请求转到一个新的页面。,jsp:plugin:,根据浏览器类型为,Java,插件生成,OBJECT,或,EMBED,标记。,jsp:include,动作,






