教学课件:《JSP程序设计》.ppt

上传人(卖家):三亚风情 文档编号:3546316 上传时间:2022-09-15 格式:PPT 页数:387 大小:21.30MB
下载 相关 举报
教学课件:《JSP程序设计》.ppt_第1页
第1页 / 共387页
教学课件:《JSP程序设计》.ppt_第2页
第2页 / 共387页
教学课件:《JSP程序设计》.ppt_第3页
第3页 / 共387页
教学课件:《JSP程序设计》.ppt_第4页
第4页 / 共387页
教学课件:《JSP程序设计》.ppt_第5页
第5页 / 共387页
点击查看更多>>
资源描述

1、 1.1 1.1 任务任务1 1:分析课程贯穿项:分析课程贯穿项目目任务描述 从开发背景、用户角色、模块划分、界面设计及数据提取等方面,对漫画网站原型进行分析。进而熟悉该项目的主要功能,并完成数据库的设计。任务描述技能目标能够运用B/S思维设计应用程序能够绘制系统功能结构图能够通过网站原型进行数据提取学会分析系统用例图技能目标1.1.1 C/S架构与B/S架构一、C/S架构 1、概念C/S 架构的全称是 Client/Server,即客户端/服务器端架构,其客户端包含一个或多个在用户电脑上运行的程序,而服务器端有两种:一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据;另一种是Soc

2、ket服务器端,服务器端的程序通过Socket与客户端的程序进行通信。C/S 架构也可以看做是胖客户端架构,因为客户端需要实现绝大多数的业务逻辑和界面展示。这种架构中,客户端需要承受很大的压力,因为显示逻辑和事务处理都包含在其中,通过与数据库的交互完成数据持久化,以此满足实际项目的需求。1.1.1 C/S架构与B/S架构一、C/S架构 2、特点 C/S架构的界面和操作可以很丰富。安全性可以很容易保证。交互模式简单致使响应速度较快。优点适用面窄,通常用于局域网中。由于客户端程序需要安装才可使用,因此不适合面向一些不可知的用户。维护成本高,完成一次升级,所有客户端程序都需要变更。缺点1.1.1 C

3、/S架构与B/S架构二、B/S架构 1、概念B/S架构的全称是Browser/Server,即浏览器/服务器架构。Browser是指Web浏览器,即客户端无需特殊安装,只要有Web浏览器即可。前端只承担极少数的事务逻辑,主要事务逻辑在服务器端实现。B/S 架构也可以看做是瘦客户端架构,因为客户端包含的逻辑很少,主要负责数据数据呈现,事务处理逻辑大部分放在了Web应用程序上,这样就减少了客户端的压力。1.1.1 C/S架构与B/S架构二、C/S架构 2、特点 客户端无需安装,有Web浏览器即可。B/S架构的系统可以直接放在广域网上,实现多客户访问,适用面广。维护成本低,完成一次升级,无需升级多个

4、客户端,升级服务器即可。优点 在跨浏览器方面,B/S架构不尽如人意。前端表现力很难达到C/S架构的程度。在速度和安全性上需要花费巨大的设计成本。客户端与服务器端的交互是请求-响应模式,通常需要刷新页面。缺点1.1.2 静态网页与动态网页一、静态网页静态网页不是指网页中的元素都静止不动,而是指网页文件中没有程序代码,只有HTML标记,一般后缀为.htm、.html、.shtml或.xml等。静态网页可以包含GIF动画,Flash动画,javaScript 脚本等。1.1.2 静态网页与动态网页二、动态网页 动态网页是指在网页文件中除了HTML标记,还包含一些实现特定功能的程序代码,这些代码使得浏

5、览器与服务器之间可以进行交互,即服务器可以根据客户端的不同请求动态产生网页内容。动态网页的后缀名通常根据所用的程序设计语言的不同而不同,一般为.asp、.aspx、cgi、.php、.perl、.jsp等。1.1.3 常用的动态网页技术 一、一、ASP ASP是Active Server Page的缩写,意为动态服务器页面。是由微软开发的嵌在网页中并由服务器端运行的脚本技术(与浏览器无关)。适用Web服务器:Windows下的Internet Information Services(IIS)适用语言:VBS/JS脚本语言+HTML ASP既不是一种程序语言,也不是一种开发工具,而是一种技术框

6、架。1.1.3 常用的动态网页技术二、二、ASP.NET ASP.NET并非编程语言,而是微软针对ASP的缺点研发的一种新的开发平台,实现了业务逻辑和Html页面的文件分离,无论页面原型如何改变,业务逻辑代码都不必做任何改动,代码重用性和维护性得到了提高。适用Web服务器:Windows下的Internet Information Services(IIS)适用语言:C#、VB、J#等+HTML,其中C#最常用。1.1.3 常用的动态网页技术三、三、PHP PHP是超文本预处理语言Professional Hypertext Preprocessor的缩写。PHP原本的简称为Personal

7、Home Page,最初是丹麦程序员为了维护个人网页而用C语言开发的一些工具程序集。后来又用C语言重新编写,增加了数据库访问功能。PHP也是一种在服务器端执行的嵌入HTML文档的脚本语言,语言风格类似于C语言。由于简单高效、开源免费、跨平台等特性,PHP受到很多Web开发人员的欢迎。PHP支持绝大多数数据库,常搭配MySQL数据库和Apache Web服务器。1.1.3 常用的动态网页技术四、四、JSP JSP全称Java Server Pages,是以Java语言作为脚本语言的新一代网站开发技术。适用Web服务器:Tomcat、WebLgic、JBoss、Websphere等 适用语言:Ja

8、va程序段(Scriptlet)和JSP标记(tag)+HTML 由于Java语言的跨平台特性,所以JSP不受操作系统或开发平台的制约,而且有多种服务器可以支持,因此,JSP经常在企业级系统开发中使用。任务实现一、开发背景一、开发背景 选取漫画网站设计作为课程贯穿项目,所有知识点将围绕该项目逐层递进,逐步扩展。二、功能描述二、功能描述 漫画网站有三类用户,分别是管理员、会员及匿名用户。其系统结构如图1-5所示,匿名用户只能浏览主页、阅读部分在线漫画;用户注册后才能成为会员,会员登录后可以查看漫画信息、阅读所有在线漫画、使用漫画心愿单及购买实物漫画书;管理员无需注册,直接使用固定账号登陆即可对会

9、员及漫画信息进行管理。任务实现任务实现三、数据库设计三、数据库设计任务实现任务实现四、界面原型四、界面原型任务实现拓展与提高用例图就是非常重要的需求描述工具之一。用例图一般由以下四类元素构成:一、参与者一、参与者参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。参与者在画图中用简笔人物画来表示,人物下面附上参与者的名称。二、用例二、用例用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生可观察的结果。用例在画图中用椭圆来表示,椭圆下面附上用例的名称。三、系统边界三、系统边界系统边界是用来表示正在建模系统的边界。参与者画在边界的外面,用例画在边界里面。在画图时

10、,系统边界可以省略。拓展与提高四、用例图中的关系四、用例图中的关系拓展与提高总结 C/S架构与架构与B/S架构架构 静态静态网页与动态网页与动态网页网页 常用常用的动态网页的动态网页技术技术 贯穿项目分析及数据库设计贯穿项目分析及数据库设计 谢谢大家观看谢谢大家观看 1.2 1.2 任务任务2 2:为漫画网站创建:为漫画网站创建WebWeb应用应用任务描述 搭建JavaWeb应用程序开发环境,为漫画网站创建Web应用,并在服务器上发布和运行该应用。任务描述技能目标能够安装JDK并正确配置环境变量能够安装并配置Tomcat服务器能够为MyEclipse配置运行时环境和服务器能够用MyEclips

11、e创建Web应用学会创建Web页面能够发布并运行Web应用技能目标1.2.1 搭建Tomcat服务器一、JDK的安装与配置1、从甲骨文官方网站下载JDK的安装包,根据自己电脑的操作系统选择正确的版本进行下载。1.2.1 搭建Tomcat服务器 2、配置JDK环境变量1.2.1 搭建Tomcat服务器1.2.1 搭建Tomcat服务器1.2.1 搭建Tomcat服务器1.2.1 搭建Tomcat服务器二、Tomcat的安装与启动1、下载压缩版Tomcat1.2.1 搭建Tomcat服务器2、Tomcat目录结构1)bin目录:用于存放Tomcat命令。2)conf目录:用于存放Tomcat的一些

12、配置文件。3)lib目录:主要用来存放Tomcat运行所需要加载的jar包,如连接数据库的jdbc包等。4)logs目录:用来存放Tomcat在运行过程中产生的日志文件,如在控制台输出的日志等。5)temp目录:用户存放tomcat在运行过程中产生的临时文件。6)webapps目录:用来存放应用程序,当Tomcat启动时会去加载webapps目录下的应用程序。7)work目录:用来存放Tomcat在运行时的编译后文件,如JSP编译后的文件。1.2.1 搭建Tomcat服务器3、启动Tomcat(bin目录下的startup.bat)1.2.2 在MyEclipse中配置Tomcat服务器1.2

13、.3 创建第一个Web应用1.2.3 创建第一个Web应用工程目录结构1、src目录:用于存放Java源文件。2、WebRoot目录:是Web应用的顶层目录。1)META-INF目录:由系统自动生成,用于存放系统描述信息。2)WEB-INF目录:该目录下的文件不能被引用,即无法被用户访问。该目录一般由以下三部分组成:WEB-INF/web.xml 文件,Web应用的初始化配置文件(必选)WEB-INF/classes 目录,编译后的Java 类文件(可选)WEB-INF/lib 目录,Web应用所需的Java 类库文件(*.jar)(可选)3)自行创建的可以对外发布的Web资源1.2.3 创建

14、第一个Web应用添加Web页面1.2.3 创建第一个Web应用部署Web应用1.2.3 创建第一个Web应用部署Web应用1.2.3 创建第一个Web应用运行Web应用任务实现拓展与提高部署方法一部署方法一:项目打成war包,后放入webapps目录。拓展与提高部署部署方法二方法二:通过修改conf下的server.xml 文件进行部署。1、打开Tomcat下的conf/server.xml,在 标签之间输入项目配置信息:1)path:表示浏览器访问时的路径名。2)docBase:web项目的WebRoot所在的路径,其实也就是编译后的项目。3)reloadble:设定项目有改动时,Tomca

15、t是否重新加载该项目。2、重启服务器,并在浏览器地址栏中输入正确的URL,访问相应的页面即可。如http:/localhost:8080/welcome/welcome.html,其中的webcome对应上面的path属性。拓展与提高部署部署方法三方法三:每个项目分开配置。在confCatalinalocalhost目录下,新建的xml文件,增加下面配置语句:在浏览器地址栏中输入正确的URL,访问相应的页面即可,无需重启服务器。如 http:/localhost:8080/hello/welcome.html 其中的hello对应上面的xml文件名。总结 搭建搭建Tomcat服务器服务器 在在

16、MyEclipse中配置中配置Tomcat服务器服务器 创建创建第一个第一个Web应用应用 谢谢大家观看谢谢大家观看 1.3 1.3 任务任务3 3:为漫画网站主页添加页面:为漫画网站主页添加页面元素元素任务描述 为漫画网站添加主页,并且为主页添加系统时间、注释、漫画类型列表等页面元素。任务描述技能目标能够在JSP中添加静态元素能够在JSP中设置页面指令能够在JSP中添加注释能够在JSP中使用表达式能够在JSP中使用小脚本能够在JSP中使用声明技能目标1.3.1 JSP简介 JSP(Java Server Pages)是一种Java服务器端技术,可以理解为内嵌了Java代码的HTML页面,其文

17、件扩展名必须是jsp(如index.jsp)。它使用JSP标签在HTML中插入Java脚本,标签通常以结束。并且由应用服务器中的JSP引擎来编译和执行内嵌的Java代码,然后再生成整个页面信息返回给客户端。1.3.2 JSP的执行过程1、翻译阶段:JSP页面会被Web容器中的JSP引擎转换成Java源码。2、编译阶段:Java源码会被编译成可执行的字节码。3、执行阶段:执行编译生成的字节码文件;执行结束后,容器把生成的页面反馈给客户端进行显示。1.3.3 设置默认访问页 有时候Web工程中并没有创建web.xml,但是同样可以通过应用根目录访问到默认页面,这是为什么呢?原因是Tomcat的co

18、nf目录下也有一个web.xml,可以进行全局设置。服务器在Web工程中找不到web.xml时,就会从conf下的web.xml中匹配相应的元素。1.3.4 JSP的页面元素一、静态内容一、静态内容静态内容是JSP页面中的静态文本,基本都是HTML标记,与Java和JSP语法无关。二、二、JSP指令元素指令元素JSP指令元素的作用是通过设置指令中的属性,在JSP运时,控制JSP页面的某些特性。JSP指令一般以“”结束。【例如】pageEncoding是JSP文件本身的编码,只用于JSP输出,不会作为header发出去;contentType的charset是指服务器发送给客户端时的内容编码。1

19、.3.4 JSP的页面元素三、三、JSP脚本元素脚本元素 在JSP页面中,将小脚本(scriptlet)、表达式(expression)、声明(declaration)统称为JSP脚本元素,用于在JSP页面中嵌入Java代码,实现页面的动态处理。1、小脚本、小脚本 小脚本可以包含任意的Java片断,形式比较灵活,通过在JSP页面中编写小脚本可以执行复杂的操作和业务处理。编写方法是将Java程序片断插入标记中。1.3.4 JSP的页面元素2、表达式、表达式 表达式是对数据的表示,系统将其作为一个值进行计算和显示,当需要在页面中输出一个Java变量或者表达式值时,使用表达式是非常方便的。其语法是。

20、1.3.4 JSP的页面元素3、JSP声明声明 在Java小脚本中只能定义局部变量。如果需要为Java脚本定义全局变量(即Java类的成员变量)和方法时,就需要使用JSP声明来实现了。声明语法如下:1.3.4 JSP的页面元素四、四、JSP中的中的注释注释1、HTML注释标记注释标记 使用格式是,一般用于注释静态内容。其注释内容在客户端浏览器中可以通过查看源代码看到。2、JSP注释标记注释标记 使用格式是,一般用于注释脚本元素。在客户端通过查看源代码看不到注释内容,所以有时也叫做隐藏注释。3、在、在JSP脚本中使用注释脚本中使用注释 在脚本中加注释和在Java类中加注释的方法是一样的。1.3.

21、4 JSP的页面元素任务实现任务实现拓展与提高 Java的集合组件主要存放在java.util包中,其类型主要有3种:List(列表)、Set(集)和Map(映射),它们都是接口。List和Set继承自Collection接口,Map是独立接口。一一、List接口接口 List元素有放入顺序,元素可重复有放入顺序,元素可重复,其实现类主要有:1、ArrayList:底层是通过数组实现的,随机读取数据较快。2、Vector:实现方式和ArrayList类似,但其方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是。由于线程的同步必然要

22、影响性能,因此,ArrayList的性能比Vector好。3、LinkedList:底层是通过链表实现的,插入、删除数据较快。拓展与提高二、二、Set接口:接口:Set元素无放入顺序,元素不可无放入顺序,元素不可重复。重复。Set接口的实现类主要有:1、HashSet:不能保证元素的排列顺序,方法不同步。集合元素可以是null,但只能放入一个null。2、LinkedHashSet:使用链表维护元素的次序,可以通过元素的添加顺序访问集合元素。3、TreeSet:是SortedSet接口的唯一实现类,可以确保集合元素处于一种树形(红-黑树)结构的排序状态。拓展与提高三、三、Map接口接口Map提

23、供key到value的映射,一个Map中不能包含相同的不能包含相同的key,每个key只能映射一个value。Map接口的实现类主要是:1、HashMap:用哈希值来存取对象,可以允许有一个允许有一个null键和多个键和多个null值值。2、Hashtable:实现方式和HashMap类似,只是方法都是同步的,而且不允许不允许任何任何null键和键和null值值。3、LinkedHashMap:和HashMap的区别类似于ArrayList和LinkedList的区别。4、TreeMap:存入的对象是以自然或自定义方式排序,即当我们插入对象后,所有的对象在该集合里都是有序的(默认是自然升序)。

24、拓展与提高【泛型泛型】即“参数化类型”,如List list=new ArrayList()语句表示只能存入String类型的对象,若试图存入Integer类型的对象就会报错。通用模式如下:List list=new ArrayList();Set set=new TreeSet();Map map=new HashMap();其中,T,K代表引用类型,不能是基本数据类型(如代表引用类型,不能是基本数据类型(如int、long等)等)。拓展与提高拓展与提高总结 JSP简介简介 JSP的执行过程的执行过程 设置设置默认访问页默认访问页 JSP的页面的页面元素元素:小脚本、表达式、声明、:小脚本、

25、表达式、声明、注释注释 集合框架:集合框架:List 、Set、Map 谢谢大家观看谢谢大家观看 2.1 2.1 任务任务1 1:获取管理员的登录:获取管理员的登录请求请求任务描述 为主页添加登录表单,并在获取用户的登录信息之后,根据判断条件完成相应的数据传递和页面跳转。任务描述技能目标使用request对象获取用户请求使用response对象处理响应使用请求转发和重定向控制页面跳转技能目标2.1.1 JSP内置对象概述 JSP内置对象,也称为隐式对象,是由Web容器自动加载,不需要声明就可以直接在JSP页面中使用的对象。2.1.2 out对象out对象是javax.servlet.jsp.J

26、spWriter类的一个实例,主要用于向客户端浏览器输出数据。2.1.3 request对象 request对象是javax.servlet.http.HttpServletRequest类的一个实例。每当客户端请求一个JSP页面时,JSP引擎就会创建一个新的request对象来代表这个请求。2.1.3 request对象当使用JSP默认模板创建页面时,文件开头会自动生成如下代码:这个语句用来拼装当前网页的相对路径。其中,request.getSchema()返回当前使用的协议(http);request.getServerName()返回当前页面所在的服务器名字(localhost);req

27、uest.getServerPort()返回当前页面所在的Web容器使用的端口(8080);request.getContextPath()返回当前页面所在的Web应用根目录(MyApp)。2.1.3 request对象 basePath变量一般和base标签联合使用,用来表明当前页面的相对路径所使用的基准路径。在JSP默认模板中的base href=就是用来表明当前页面无论在哪级目录下,寻找资源的基准路径都是Web应用根目录。【JSP默认模板中的默认模板中的basePath】2.1.3 request对象【语法】【功能】用于声明表单,定义数据采集范围,和之间的数据将被提交到Web服务器上。【

28、属性】action=url用来指定当提交表单时,向何处发送表单数据(默认提交到当前页)。method=get|post指明提交表单的HTTP方法,默认为get。enctype=mime指明把表单提交给服务器时(当method值为post)的互联网媒体形式。这个特性的缺省值是application/x-www-form-urlencoded。target=“.”指定结果文档的显示位置(target=“_blank”;target=“_self”;target=“_parent”;target=“_top”)【form表单表单】2.1.3 request对象 getParameter getPar

29、ameterValues【获取表单数据获取表单数据】2.1.4 response对象 response对象是javax.servlet.http.HttpServletResponse类的一个实例。当服务器创建request对象时会同时创建一个用于响应当前客户端的response对象。2.1.4 response对象【设置页面数据的输出类型设置页面数据的输出类型】使用response对象的setContentType(String type)方法可以设置页面的contentType(输出类型)属性值。text/html:网页 text/plain:纯文本 application/x-msexc

30、el:Excel文件 application/msword:Word文件2.1.4 response对象【设置应答报文的首部字段值设置应答报文的首部字段值】使用response对象的setHeader(String name,String value)方法可以设置HTTP响应报文的首部字段和值。2.1.4 response对象【重定向与请求转发重定向与请求转发】1、重定向在某些情况下,当响应客户请求时,服务器需要引导客户端重新请求另一个页面,即重定向。这就需要 用 到 r e s p o n s e 对 象 的sendRedirect(String url)方法。2、请求转发请求转发是一种服务

31、器行为,客户端只需发出一次请求,服务器将该请求转发之后,会继续使用当前的request请求对象,而非新建。2.1.4 response对象 【URL查询字符串的查询字符串的应用应用】1、重定向中使用查询字符串 如果需要在重定向的情况下将简单数据(如整数、字符串等)传递给目标页面,可以使 用 查 询 字 符 串(Q u e r y S t r i n g)实 现。代 码 如 下:response.sendRedirect(welcome.jsp?username=+name);由用“=”连接的键-值对组成,通过“?”连接在URL地址后面,多个键-值对可用“&”符号进行分隔,如:response.

32、sendRedirect(welcome.jsp?username=tom&pwd=123)。在目标页welcome.jsp中获取查询字符串的方法和获取请求参数的方法类似,例如:String name=request.getParameter(username);/对应值tom String age=request.getParameter(pwd);/对应值123 其中,传给方法的参数必须和查询字符串中的键一一对应。2.1.4 response对象 【URL查询字符串的应用查询字符串的应用】2、超链接中使用查询字符串 在实际的Web应用中,网页上会有很多超链接,点击这些超链接便会打开一个新页

33、面,显示与之相关的信息。任务实现拓展与提高 JSP动作元素是一种特殊的标签,是JSP页面元素之一,以jsp作为前缀,可以实现多行Java代码实现的效果,它在客户端发出请求时动态执行。可以用于实现请求转发。总结 JSP内置对象内置对象概述概述 out对象对象 request对象对象 response对象:请求转发和重定向的区别对象:请求转发和重定向的区别 谢谢大家观看谢谢大家观看 2.2 2.2 任务任务2 2:实现页面的访问控:实现页面的访问控制制任务描述 实现用户主页的访问控制。在没有登录的情况下,直接访问用户主页,提示“您还没有登录!”;成功登录之后,在没有关闭浏览器的前提下,即使在一个新

34、窗口中也能正常访问该用户主页。任务描述技能目标掌握session的原理及应用掌握include指令的应用技能目标2.2.1 session对象 就Web开发来说,一个会话是指在一段时间内,单个客户通过浏览器与Web服务器的一连串不中断的交互过程。2.2.1 session对象 session对象是javax.servlet.http.HttpSession类的一个实例,该对象允许用户访问会话的相关信息,并绑定数据到会话中。绑定到会话中的数据可以在多次请求中持续有效。2.2.1 session对象2.2.1 session对象【使用使用session对象实现访问对象实现访问控制控制】2.2.1

35、session对象【使用使用session对象实现访问对象实现访问控制控制】2.2.1 session对象【会话的时效会话的时效】1、会话超时会话超时:是指两次请求的时间间隔超过了服务器允许的最大时间间隔。1)通过session对象的setMaxInactiveInterval(int interval)方法设置2)在项目的web.xml中设置,代码段如下:10 3)通过Web容器进行设置,在Tomcat目录/conf/web.xml中找到元素,其中元素中的30就是默认时间间隔,单位为分钟,可以对其进行修改。会话是有时效的,使会话失效的方法有两种:2.2.1 session对象2、手动手动调用

36、方法设置会话失效调用方法设置会话失效。1)invalidate()方法实现的,主要应用于用户注销的场合。2)session对象的removeAttribute(String key)方法将指定对象从会话中清除,而会话仍然有效。2.2.2 include指令 include指令用于在JSP转译期间将HTML文件或JSP 页面嵌入到另一个JSP 页面,即在JSP页面出现该指令的位置处静态插入一个HTML 文件或JSP 页面。【语法】注意:include指令只有一个file属性,表示被包含的文件路径。在多个页面中实现访问控制时,出现的重复编码问题也可以通过include指令来解决。任务实现拓展与提高

37、是JSP动作元素之一,此动作允许将文件插入到正在生成的页面中。【语法】其中,page表示要包括的页面的相对URL;flush表明在包含资源前是否刷新缓存区。该动作还可以通过如下形式进行参数的传递。.总结 session对象对象 include指令指令 谢谢大家观看谢谢大家观看 2.3 2.3 任务任务3 3:统计网站的访问次:统计网站的访问次数数任务描述 在漫画网站主页显示网站访问量。任务描述技能目标掌握对象的作用域掌握application的原理及应用了解其他内置对象的作用技能目标2.3.1 application对象 application对象从服务器的角度而言,可以视为一个所有联机用户共

38、享的数据存储区,它是javax.servlet.ServletContext 类的实例,类似于应用程序的“全局变量”,可以被应用内的所有用户共享。2.3.1 application对象2.3.2 对象的作用域 在JSP中,提供了四种作用域,分别是page作用域、request作用域、session作用域和application作用域;它们分别由JSP内置对象pageContext、request、session和application实现。存入pageContext对象中的变量只在当前jsp页面有效;存入request对象中的变量只在当前请求周期内有效;存入session对象中的变量只在当前会

39、话范围内有效;存入application对象中的变量在整个Web应用范围内有效。每个作用域对象存取数据的方法都是一样的:用setAttribute(String key,Object value)方法存数据;用Object getAttribute(String key)方法取数据。2.3.3 其他内置对象一、一、page对象对象page对象是指向当前JSP页面程序本身的对象,有点像类中的this。page对象其实是Object类的实例,它可以使用Object类的方法,例hashCode()、toString()等。page对象在JSP程序中的应用不是很广。二、二、config对象对象Web容

40、器在初始化时使用一个config对象向JSP页面传递配置信息,包括初始化参数(在当前Web应用的应用部署描述文件web.xml中定义)以及表示JSP页面或Servlet所属Web应用的ServletContext对象(即application对象)。三、三、exception对象对象exception对象是Throwable子类的一个实例(如java.lang.NullPointerException),仅在错误页面中可用。JSP提供了一个选项用来为JSP页面指定错误页面。每当页面引发异常时,JSP容器将自动调用错误页面。任务实现拓展与提高一、一、sessionsession对象对象 JSP默

41、认启用会话跟踪,并为每个新客户端自动实例化一个新的HttpSession对象。可以通过将页面指令中的会话属性设置为false来禁用会话跟踪,语法如下:二、二、URLURL重写重写 URL重写就是利用get方法,在URL尾部添加额外的参数来达到会话跟踪的目的。可以在每个网址的末尾附加一些用于标识会话的数据,服务器可以将该会话标识符与其关于该会话存储的数据相关联。例如,利用http:/ Web服务器可以发送隐藏的HTML表单域以及唯一的会话ID,例如:每次客户端浏览器发送请求时,session_id值都可以用于跟踪不同的Web浏览器。但点击常规超链接()不会产生表单提交,因此隐藏表单域不能支持常规

42、会话跟踪。拓展与提高四四、CookiesCookies Cookie是存储在客户端的文本文件,一般用于保存轨迹信息。JSP显然提供对HTTP cookie的支持。通常有三个步骤来识别回头客:1)服务器脚本发送一系列cookie至浏览器。比如名字,年龄,ID号码等等。2)浏览器在本地机中存储这些信息,以备不时之需。3)当下一次浏览器发送任何请求至服务器时,它会同时将这些cookie信息发送给服务器,然后服务器使用这些信息来识别用户或者干些其它事情。拓展与提高拓展与提高在JSP中使用cookie,包含以下几个步骤:1)创建一个Cookie对象,调用Cookie的构造函数,使用一个cookie名称和

43、值做参数。Cookie cookie=new Cookie(key,value);2)设置有效期,调用setMaxAge()函数表明cookie在多长时间(以秒为单位)内有效。例如:cookie.setMaxAge(60*60*24);3)将cookie发送至HTTP响应头中,调用response.addCookie()函数来向HTTP响应头中添加cookie。response.addCookie(cookie);4)读取cookieCookie cookies=request.getCookies();拓展与提高如果想要删除一个cookie,按照下面给的步骤即可:获取一个已经存在的cooki

44、e然后存储在Cookie对象中。将cookie的有效期设置为0。将这个cookie重新添加进响应头中。拓展与提高总结 application对象对象 对象对象的作用域的作用域 其他其他内置内置对象对象 谢谢大家观看谢谢大家观看 3.1 3.1 任务任务1 1:实现管理员的登录:实现管理员的登录功能功能任务描述 运用JDBC组件实现管理员的登录功能;并在登录成功后,把管理员信息存入session对象中;然后,从session中获取真实姓名,显示在管理员主页上。任务描述技能目标搭建MySQL数据库开发环境掌握JDBC访问数据库的流程使用Connection组件连接MySQL数据库使用Stateme

45、nt组件查询数据使用PreparedStatement组件优化查询代码技能目标3.1.1 搭建MySQL数据库开发环境一、安装MySQL 1、安装MySQL服务器3.1.1 搭建MySQL数据库开发环境一、安装MySQL 1、安装MySQL服务器3.1.1 搭建MySQL数据库开发环境一、安装MySQL 1、安装MySQL服务器3.1.1 搭建MySQL数据库开发环境一、安装MySQL 2、安装MySQL客户端Navicat for MySQL3.1.1 搭建MySQL数据库开发环境二、导入漫画网站的数据资源3.1.2 JDBC技术简介 JDBC(Java DataBase Connectiv

46、ity,Java数据库连接)是Java访问数据库的解决方案,是一种用于执行SQL语句的Java API(Application Programming Interface,应用程序编程接口),它为Java应用程序与各种不同的数据库进行对话提供了统一的访问模式。3.1.2 JDBC技术简介 JDBC提供的类和接口主要位于JDK的java.sql包中(之后的扩展部分位于javax.sql包中),其中比较常用的组件有以下几个:1、DriverManager类类 驱动管理器,主要负责加载各种不同的数据库驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。其

47、常用方法如下:registerDriver(driver);/注册驱动对象 Connection getConnection(url,user,password);/获取连接对象 2、Driver接口接口 驱动程序接口,所有具体的数据库系统厂商要必须实现此接口,形成自己特有的驱动程序包。装载驱动的语句是Class.forName(驱动类)。例如,装置MySQL驱动的语句如下:Class.forName(com.mysql.jdbc.Driver);3.1.2 JDBC技术简介3、Connection接口接口 负责应用程序和数据库的连接,在加载驱动之后,使用url、username、passwo

48、rd三个参数,创建和具体数据库系统的连接实例。例如,获取MySQL连接对象的语句如下:String url=jdbc:mysql:/localhost:3306/cartoonDB;String user=root,pwd=123456;Connection conn=DriverManager.getConnection(url,user,pwd);其中,数据库的URL一般由协议名+数据库系统标识+IP地址(域名)+端口+数据库名称组成,用户名和密码是指登录数据库时所使用的用户名和密码。4、Statement接口接口 用于执行静态的sql语句(单次执行),通过Connection对象创建实例

49、。例如,Statement stmt=conn.createStatement();/创建Statement对象3.1.2 JDBC技术简介5、PreparedStatement接口接口是Statement接口的子接口,用于执行预编译sql语句,一般包含动态参数。6、CallableStatement接口接口是PreparedStatement接口的子接口,用于执行存储过程。7、ResultSet接口接口执行查询SQL语句后返回的结果集,由ResultSet接口接收。常见的处理方式是遍历或存在性判断(如登录功能)。例如,String sql=select*from admin;ResultSe

50、t rs=stmt.executeQuery(sql);while(rs.next()out.println(rs.getInt(id)+,+rs.getString(username);8、SQLException类类代表在数据库连接的建立、关闭及SQL语句的执行过程中发生的异常。3.1.3 JDBC实现数据查询功能可以把JDBC访问数据库的基本流程总结如下:3.1.3 JDBC实现数据查询功能MySQL官网(https:/ JDBC实现数据查询功能【关键代码】%/准备相关数据 String driver=com.mysql.jdbc.Driver;/MySQL-JDBC驱动路径 Strin

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(教学课件:《JSP程序设计》.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|