数据库技术实训.docx
- 文档编号:11053822
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:39
- 大小:1.30MB
数据库技术实训.docx
《数据库技术实训.docx》由会员分享,可在线阅读,更多相关《数据库技术实训.docx(39页珍藏版)》请在冰豆网上搜索。
数据库技术实训
数据库技术实训
一、背景知识
1.web数据库
WorldWideWeb(WWW)是当今Internet上最主要的信息服务,静态的Web站点中各种形式的数据以文件方式存在,当信息量以几何级数增加时信息的发布和维护就显得极为困难;目前流行的Web存储信息的方式则是基于数据库的,即允许Web直接访问数据库,从而管理动态Web内容。
Web数据库的访问采用浏览器/Web服务器(B/S)或浏览器/Web服务器/数据库服务器(B/S/S)结构。
下图给出的是B/S/S所谓三层结构。
中间服务:
如CGI、ODBC等
第一层:
用户服务层,提供信息显示、浏览和服务要求的提交等。
第二层:
业务逻辑和其他“中间服务”,如CGI所做的分析HTML文本,提取访问数据库的请求,生成SQL语句,实现web到数据库通信协议的转换;又如ODBC中间件实现对不同数据库系统下数据库的访问。
第三层:
数据服务,实现数据定义、存储、操作和维护。
很多时候可以将第二层的中间服务分离出来,实现多层服务,如上图。
2.通过web访问数据库的方式
1)动态网页技术,即页面不完全是HTML,而是在其中嵌入了很多从后台数据库取回的内容。
(1).CGI(CommonGatewayInterface),公共网关接口
用户可以用各种语言,如Perl、VisualBasic、Delphi或C/C++等,编写合适的CGI程序,遵循WWW外部程序规范,放在web服务器上执行。
当用户通过浏览器向web服务器发出数据查询请求时,
a)web服务器按照CGI协议激活外部程序
b)CGI程序分析html文本,生成查询要求的SQL语句,连接数据库,将DBMS返回的结果转化为html文本,发送给web服务器
c)Web服务器将嵌入有查询结果的html文本发送用户浏览器
(2).ASP(ActiveServerPages),微软创建的Web应用开发标准,ASP服务器已经包含在IIS服务器中。
当用户通过浏览器向web服务器发出请求时,
a)ASP服务器将Web请求转入解释器中
b)在解释器中将所有ASP中的脚本进行分析,然后执行
c)同时可以创建COM对象以完成更多的功能
d)其脚本语言为VBscript,Javascript
e)ASP扩展:
ASP.NET
(3).PHP(HypertextPreprocessor),超文本预处理器,一种生成动态网页的服务器端脚本语言,其语法大部分来自C、Java以及Perl,并形成自己独特风格。
其特点
a)仅需要很少编程知识就能用PHP快速建立一个交互的web站点,性能良好。
b)作为自由软件,免费。
c)缺乏正规的商业支持,缺乏企业级支持。
(4).JSP(JavaServerPages)
a)Sun公司倡导的动态网页技术标准
b)在HTML文件中插入Java程序段(Scriplet)和JSP标记(tag),形成JSP文件。
c)JSP文件中的代码被编译成Servlet,并由Java虚拟机执行
二、实训目标、内容和要求
1.学习搭建javaweb项目开发环境。
jdk+eclipseIDEforJavaEEdevelopers+tomcat+sqlserver2008
2.学习和掌握在JSP+tomcat+sqlserver2008中通过JSP+JDBC+ODBC连接和操作数据库。
3.学习和掌握在JSP+tomcat+sqlserver2008中通过JSP+servlet连接和操作数据库
4.学习和掌握在JSP+tomcat+sqlserver2008中通过JSP+applet+JDBC连接和操作数据库。
5.对给定的实际开发例子,要求:
1)经过需求分析给出其ER图,经过设计分析给出满足第三范式的数据库关系表,并在sqlserver2008上实现
2)对实现的数据库。
创建登陆名和数据库用户账户,录入部分数据。
3)创建java动态web项目,编写JSP代码实现2、3、4内容。
6.要求:
1)给出实际例子ER图
2)给出实际例子的数据库设计结果和满足规范化要求的分析,并给出在sqlserver2008上实现的截图。
3)2、3、4中连接和操作数据库的方式至少实现一种,并给出代码
4)在设计和操作数据库中必须有:
数据查询、更新、触发器设计。
三、实训环境搭建
1.jdk1.7或jdk1.6
注意:
如果在64位win7系统下,必须选择64位的jdk,如jdk-7u9-windows-x64。
安装jdk后配置系统变量JAVA_HOME,path,classpath,如图1.
图1
具体变量设置在java程序设计课程中有,参考如下:
JAVA_HOME:
jdk安装路径,可能为C:
\ProgramFiles\Java\jdk1.7.0_09
path环境变量中增加:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
classpath环境变量中增加:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\
tools.jar;%JAVA_HOME%\jre7\lib;%JAVA_HOME%\lib\rt.jar;
具体的结果要参考自己机子上jdk的实际安装情况定。
2.eclipseIDEforJavaEEdevelopers安装。
下载后直接运行即可不需要安装。
下载地址:
http:
//www.eclipse.org/downloads/
注意:
由于要创建Java动态web项目,而非一般的Java项目,因此需要与java程序设计课程实验中eclipseclassic不同。
3.tomcat
1)背景知识:
JakartaTomcat服务器是SUN公司官方推荐的JavaWeb中Servlet/JSP容器,它是Apache_Jakarta的一个子项目,Servlet和JSP的规范都在其上得到实现。
2)tomcat结构简介:
Tomcat服务器是由一系列可配置的组件构成,其核心组件是CatalinaServlet容器,它是所有其他Tomcat组件的顶层容器。
Tomcat的组件可以在
在以上XML代码中,每个元素都代表一种Tomcat组件.这些元素分四类:
●顶层类元素:
包括
●连接器类元素:
代表了介于客户与服务之间的通信接口,负责将客户的请求发送给服务器,并将服务器的响应结果传递给客户。
●容器类元素:
代表处理客户请求并生成响应结果的组件,有3种容器类元素,它们是Engine,Host和Context。
Engine组件为特定的Service组件处理所有客户请求,Host组件为特定的虚拟主机处理所有客户请求,Context组件为特定的Web应用处理所有客户请求。
每个
●嵌套类元素:
代表了可以加入到容器中的组件,如
3)tomcat各组件请求响应的关系如下图2.
图2
4)tomcat工作模式
tomcat作为servlet的容器,有以下三种工作模式:
i).独立的Servlet容器
在这种模式下,Tomcat可以作为独立的JavaWeb服务器,Servledt容器作为构成Web服务器的一部分而存在,这是Tomcat的默认模式。
ii).进程内的Servlet容器
Servlet容器分为Web服务器插件和Java容器两部分。
Web服务器插件在其他Web服务器内部地址空间中开一个Java虚拟机JVM,Java容器在此JVM中运行Servlet。
当客户端发出Servlet请求时,插件获得对此请求的控制,并通过JNI机制将其传递给Java容器。
注:
JNI(JavaNativeInteface)是Java本地调用接口,通过它,Java程序可以和采用其他语言编写的本地程序进行通信。
iii).进程外的Servlet容器
Servlet容器的Web服务器插件在其他Web服务器的外部地址空间中开一个JVM,Java容器在此JVM上运行Servlet。
当Web服务器插件获得客户端请求时,通过IPC机制将其传递给Java容器。
此种情形不如第二种模式效率高,但具有更好的伸缩性和稳定性。
注:
IPC(InterProcessesCommunication)机制是进程间通信机制。
5)tomcat的安装:
这里我们选择apache-tomcat-6.0.24,软件可以在http:
//tomcat.apache.org/download-60.cgi上下载。
然后解压到自己预定的目录即可。
6)tomcat的启动和关闭:
可以通过tomcat解压目录\bin、startup.bat和shutdown.bat来进行。
实训项目通过eclipse上的tomcat插件来开关。
4.eclipse的tomcat插件:
tomcatPluginV33,下载地址为:
5.在eclipse上配置tomcat:
1)运行eclipse,在菜单栏上选择window->preferences->tomcat,然后选择tomcat的版本,位置信息指向tomcat的解压目录,如图3。
图3
advanced配置也一样,JVM配置需要给出Tool.jar的位置,否则不能编译jsp文件(如果jdk环境变量没有给出Tools.jar的话)。
见图4.
2)在eclipse上启动和关闭tomcat,运行eclipse,tomcat菜单上选择starttomcat或stoptomcat。
注意:
在eclipse上启动tomcat可能会出现TheApacheTomcatNativelibrarywhichallowsoptimalperformanceinproductionenvironmentswasnotfoundonthejava.library.path:
......错误信息。
这是Tomcat从5.5版本后增加了APR技术(ApachePortableRuntime),
图4
这是一个用C语言写成文件包,目的在于提高Tomcat的服务性能,需要下载tcnative-1.dll,下载的地址:
http:
//tomcat.apache.org/download-60.cgi,不同平台ia、x86,不同字长32位、64位,不同版本的tomcat要求的tcnative-1.dll版本都不同,需要反复测试,经过我们测试,tomcat_6.0.24版本需要tcnative-1.dll的版本为1.1.20(分ia架构和x86架构的,32位和64位的)
3)测试tomcat
在浏览器地址栏输入:
http:
//localhost:
8080,回车后显示如图5.注:
这里假设默认tomcat的connector的端口号为8080,如果与某个进程的端口号冲突,可能显示错误。
tomcat端口号的配置在tomcat目录\conf\server.xml文件中,可用记事本打开另给端口号,也可在windows命令窗口中执行C:
\>netstat-aon|findstr"8080",查看以8080端口运行的进程pid,然后在进程管理器中杀掉该pid的进程。
图5
4)创建一个tomcatserver
在eclipse->new->other->server,创建一个server,如图6。
5)web服务目录
是用户在浏览器输入地址中的tomcat服务器中web应用的根目录,如xxx.jsp文件存放在
(1).tomcat路径\webapps\Root
则浏览器输入地址为:
http:
//localhost(tomcat服务器名或127.0.0.1或真实的tomcat服务器IP地址):
8080/xxx.jsp
(2).webapps下任何一个已有或自定义的目录,如tomcat目录\webapps\myjsp\
浏览器访问地址:
http:
//127.0.0.1:
8080/myjsp/xxx.jsp
(3).修改tomcat\conf下server.xml文件,在
浏览器访问地址分别可以为:
http:
//127.0.0.1:
8080/abc/xxx.jsp
http:
//127.0.0.1:
8080/cde/xxx.jsp
鼓励做法:
服务目录建在tomcat目录\webapps\自己的服务目录,如test等,其下会有WEB-INF\class目录用来设定存编译的字节码文件,WEB-INF\lib存放应用用到的.jar文件,web.xml用来设定web应用和servlet配置信息。
注:
如果浏览器输入:
http:
//localhost:
8080/web服务目录/,会显示的次序:
首先是web.xml配置中两个欢迎页面(依序,只显示一个),其次,如果没有定义欢迎页面,显示index.html,再其次,显示index.jsp,如果都没有显示Therequestedresource(/服务目录)isnotavailable,如果直接指定具体页面,则可显示具体页面。
详细参考:
6)将server部署到tomcat上
也可不像上面处理,而采用部署的办法实现自动存放页面文件,在eclipse上,windows->showview->other->server->servers,如图7.
然后在看到的server上,右击->open,将其中的deploypath路径由原来的工作空间中的路径改为tomcat路径\webapps。
注:
由于eclipse不像myeclipse那样能自动将工程项目部署到tomcat上,我们探索自己的办法,同学们还可以自己探索。
7)另一个部署到tomcat的方法:
将后面创建的工程项目以war文件export到tomcat目录\webapps,这种方法每次修改工程都要做一次。
图6
图7
8)创建一个动态web项目,并以进程形式运行。
在eclipse上选择新建->other,然后在类型过滤中选择web->dynamicwebproject,给出项目名test,确定。
然后,右击projectexplorer视图上的test,选择runas->runonserver,图8。
9)创建JSP页
在test->WebContent下创建Simple.jsp页面,如图9,其内容如下:
<%@pagelanguage="java"pageEncoding="GBK"%>
<%@pageimport="java.util.Date,java.text.*"%>
<%
Datenowday=newDate();
SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:
mm:
ss");
Stringtime=format.format(nowday);
out.print("当前系统时间:
"+time);
%>
将代码保存后,在eclipse上内置的浏览器上运行,执行run->runonserver,得到结果
图8
图9
在浏览器ie上地址栏输入:
http:
//localhost:
8080/test/Simple.jsp,得到图10.
10)sqlserver2008的安装和配置,具体参照数据库技术实验。
四、JSP简单基础
图10
1.HTML基础
HTML是用来描述网页的一种标记语言,HTML标签(HTMLtag)是由尖括号包围的关键词,比如,一般是成对出现的,称为开始标签和关闭标签,如
。HTML的标签有如下:
Ø与之间的文本描述网页;
Ø
与之间的文本是可见的页面内容;Ø
与之间的文本被显示为标题;Ø
与
之间的文本被显示为段落;Ø
与表示换行,可以合并为
;
Ø与之间内容表示引用;
Ø与之间内容表示图像;
Ø
之间定义表单,比如:文本域、下拉列表、单选框、复选框等等输入信息的区域;
Ø
Ø与之间描述输入框内容
Ø.......
Ø注:
HTML的标签对符号的大小写不敏感,p和P一样,这与Java和JavaScript不一样。
(1).HTML元素:
开标签和比标签之间的内容也称为元素,如
Thisismyfirstparagraph.
表示一个元素定义了一个段落。
一个简单例子:
MyFirstHeading
MyFirstParagraph.
(2).属性:
标签可以附有属性,例如:
//www.w3school.target="_blank">VisitW3School! (3).表格元素: 由......
定义
---定义表格边框是否显示--> ---定义表格每一行---> --定义每一行的每一列数据-->row1,cell1 row1,cell2
row1,cell1
row1,cell2
row2,cell1
row2,cell2
在浏览器上显示为:
(4).表格的表头:
使用
显示为:
Heading
AnotherHeading
row2,cell1
row2,cell2
(5).表单元素:
常用来表示输入数据,以下常见例子
ì文本域(TextFields)
在浏览器上显示为:
Firstname:
Lastname:
ì单选按钮(RadioButtons)
在显示器上显示为:
Male
Female
ì复选框(Checkboxes)
在浏览器上显示为:
Ihaveabike
Ihaveacar
ì表单的动作属性(Action)和确认按钮
Usename:
在浏览器上显示为:
Username:
(6).更多的内容请参看:
2.JavaScript标签
HTML页面中可以嵌入JavaScript标签,JavaScript本身是一种跨平台的脚本描述语言,也是JSP的脚本描述语言,在页面中嵌入JavaScript标签可以满足:
ì动态的文本放入HTML页面
ì可以对事件作出响应
ì可以读写HTML元素
ì可被用来验证数据
ì可被用来检测访问者的浏览器
ì可被用来创建cookies
HTML文本中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库技术