JSP动态网站开发实验报告.docx
- 文档编号:9506676
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:18
- 大小:457.42KB
JSP动态网站开发实验报告.docx
《JSP动态网站开发实验报告.docx》由会员分享,可在线阅读,更多相关《JSP动态网站开发实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
JSP动态网站开发实验报告
JSP动态网站开发实验报告
实验一
一、实验目的
熟悉编程语言的集成开发环境的安装配置和使用,掌握在集成开发环境中开发系统的一般步骤;熟悉大型数据库开发环境,掌握数据库管理系统中主要管理工具的使用方法,掌握在数据库管理器中和运用Transact-SQL语言操作各种数据库对象的方法。
二、实验内容
1.安装集成开发环境,进行开发环境变量的配置。
2.练习和熟悉集成开发环境的各部件的运用。
3.练习和熟悉在集成开发环境里开发一个软件项目的一般步骤。
4.安装大型数据库,熟悉安装的一般步骤和配置。
5.练习和熟悉大型数据库管理系统各部件的运用。
6.使用大型数据库管理系统的管理部件建立数据库、修改数据库、删除数据库等操作,并查看数据库的属性。
7.在大型数据库管理系统中,利用Transact-SQL编程语言实现建立数据库系统、修改数据库、删除数据库等。
8.使用大型数据库管理系统的管理部件在数据库中建立数据表、定义表结构和数据类型、修改数据表、删除数据表等操作。
9.在大型数据库管理系统中,利用Transact-SQL编程语言实现建立数据表、定义表结构和数据类型、修改数据表、删除数据表等操作。
三、实验结果和数据处理
(一)安装JDK主要步骤
步骤一自定义安装窗口
步骤二完成安装窗口
步骤三配置环境变量步骤四检测JDK配置是否成功
(二)安装Tomcat服务器主要步骤
步骤一Tomcat安装启动窗口
步骤二安装选项窗口步骤三安装位置选择窗口
步骤四端口选择窗口
步骤五安装过程窗口
(三)在大型数据库管理系统中,利用管理部件和Transact-SQL编程语言实现建立数据表、定义表结构和数据类型、修改数据表、删除数据表等操作。
创建数据表
Transact-SQL编程语言
截图
CREATETABLEtushu
(IDchar(9),
Namechar(30));
建立表信息
Transact-SQL编程语言
截图
查询数据表
Transact-SQL编程语言
截图
SELECTname
FROMtushu
WHEREIDin("003","005","007","009");
修改数据表
Transact-SQL编程语言
截图
INSERT
INTOtushu(ID,name)
VALUES('012','几何学');
删除数据表
Transact-SQL编程语言
截图
DELETE
FROMtushu
WHEREIDin('005','009','004');
思考题
1、所有的数据库操作都可以用Transact-SQL语言来实现吗?
答:
Transact-SQL主要是sqlserver系列数据库专用的。
MySql有它自己的,Oracle的也有它自己的一套。
sybase也是。
总之,不同厂商的数据库,都有自己的函数和存储过程的写法。
实验二
一、实验目的
通过本实验,熟练和掌握编写程序连接数据库,掌握在集成开发环境中编写程序对单个和多个表进行多种类型的查询和统计,并将结果显示出来。
二、实验内容
1.使用大型数据库管理系统相关部件在实验一所建立的数据库上建立数据表。
同时对表进行相关的操作,观察表的结构,查看表的属性。
2.在集成开发环境中,针对在系统中建立数据源(ODBC)方式编写程序连接数据库。
3.在集成开发环境中,针对利用数据库组件方式编写程序连接数据库。
4.在集成开发环境中,针对直接连接数据库方式编写程序连接数据库。
5.在集成开发环境中,将Transact-SQL语句嵌入到程序代码中,运行程序,对数据表进行相关的操作。
例如,SELECT,INSERTINTO,DELETEFROM等语句对表中数据的操作。
6.在集成开发环境中,设计可视化界面,显示数据表里的数据并进行操作,运用嵌入在程序代码中Transact-SQL语句对单个和多个表进行多种类型的查询和统计。
三、实验结果和数据处理
(一)jdbc-odbc连接数据库
在MyEclipse里的bbt创建a.jsp文件,具体代码如下:
<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*,java.io.*"%>
<%
try{
StringdriverName="sun.jdbc.odbc.JdbcOdbcDriver";//驱动程序名
Stringurl="jdbc:
odbc:
master";//连接字符串
Class.forName(driverName).newInstance();//加载驱动程序
Connectioncon=DriverManager.getConnection(url,"","");
out.println("
Statementstmt=con.createStatement();
Stringsql="select*fromtushu";
ResultSetrs=stmt.executeQuery(sql);
ResultSetMetaDatarmeta=rs.getMetaData();
intnumColumns=rmeta.getColumnCount();
out.print("
out.print("
课程数据记录显示
");out.print("
out.print("
while(rs.next())
{out.print("
out.print("
out.print("");
out.print("
stmt.close();
con.close();
}
catch(Exceptione){e.printStackTrace();}
%>
打开IE浏览器,在地址栏输入http:
//localhost:
8080/bb/a.jsp,运行结果如图所示:
(二)odbc连接数据库
<%@pagecontentType="text/html;charset=GB2312"language="java"import="java.sql.*"%>
<%!
StringgetS(Stringstr){
try{
byteb[]=str.getBytes("iso-8859-1");
str=newString(b);
}
catch(Exceptione){
str="出现异常";
}
returnstr;
}
%>
<%
try{
Stringstr1=request.getParameter("name");
str1=getS(str1.trim());
StringdriverName="com.mysql.jdbc.Driver";//驱动程序名
StringuserName="admin";//数据库用户名
StringuserPasswd="admin";//密码
StringdbName="master";//数据库名
StringtableName="tushu";//表名
Stringurl="jdbc:
mysql:
//localhost:
3306/"+dbName+"?
user="+userName+"&password="+userPasswd;//连接字符串
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connectionconn=DriverManager.getConnection(url);
Statementstmt1=conn.createStatement();
Stringsql="select*fromtushuwherenamelike'%"+str1+"%'";
ResultSetrs=stmt1.executeQuery(sql);
if(rs.next()){
out.print("
图书代码:
"+rs.getString("ID"));
out.print("
图书名称:
"+rs.getString("name")+"
}
else{
out.print("图书名称错误或该图书不存在");
}
conn.close();
}
catch(Exceptione){}
%>
四、问题与讨论
1、中文乱码
解决方案:
加入<%@pagecontentType="text/html;charset=gb2312"%>
2、<%@includefile="count.jsp"%>和 includepage="count.jsp"/>区别 A.执行时间上: <%@includefile=””%>是在翻译阶段执行 includepage=””flush=”true”/>在请求处理阶段执行。 B.引入内容的不同: <%@includefile=””%>引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起。 includepage=””flush=”true”/>引入执行页面或servlet所生成的应答文本。 思考题 1、常见的几种编程语言中连接数据库的程序代码有哪些异同点? 答: 主要是数据库驱动的区别,不是程序的区别。 实验三学校宿舍管理系统 一、实验目的 1.需求分析 学校宿舍管理系统,主要用于管理员和用户更方便清楚地了解具体情况。 学生宿舍管理系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。 尽可能的为用户的录入、查询等功能操作提供方便。 快捷按钮的创建也是非常需要的,以方便用户操作。 学校宿舍管理系统的主要功能如下: 1).系统要求用户必须输入正确的用户名和密码才能进入系统。 2).系统应该提供学生住宿情况的基本登记,包括相应编号,名字,位置。 3).系统应该提供各宿舍的宿舍费查询 4).系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询、是否交纳宿舍费查询。 5).系统应提供增加、删除、修改用户帐户的功能。 6).系统应提供学生每学期的注册及学生的离校处理,理完退宿舍并交清住宿费后,学生能毕业,否则不能毕业 2.系统安全性 (1).要想对该学生宿舍管理系统进行操作就应当具有某些操作权限。 没有权限的用户将不能通过任何渠道来登录该系统,查看该系统的任何信息和数据,以确保系统的严密性和安全性。 (2.)在上述要求基础上可以为该系统设定两种登录方式,程序开始运行所有功能将是不可使用的,只有系统管理员登录和普通用户登录两个窗口可以使用,没有系统管理员或者普通用户的用户名和密码任何人都不能登录该系统。 3.运行环境: Windows 编程语言: MyEclipse 数据库: SQL 二.系统用例图 (1)用例图 用户管理用例图如下: 管理员用例图 二、数据库设计 1.学生的个人信息表students: 学号s_number,姓名s_name、性别s_sex、所在院编号dep_number、所在班级class_number、电话号码tel 2.宿舍楼信息表buildings: 编号b_number,名字b_name,位置b_address,高度b_height 3.宿舍房间信息表dormitories: 房号d_number,容纳人数d_capacity,性别限制d_sex,宿舍费金额d_fare,是否缴纳宿舍费d_yes/no\ (1).学生的个人信息表(students: 学号s_number,姓名s_name、性别s_sex、所在院编号dep_number、所在班级class_number、电话号码tel) 字段名 字段类型 长度 字段值约束 对应中文属性名 s_number char 10 不为空 学号 s_name char 5 不为空 姓名 s_sex char 2 不为空 性别 dep_number char 10 不为空 所在院编号 class_number char 10 不为空 所在班级 tel char 20 不为空 电话号码 (2).宿舍楼信息表buildings: (编号b_number,名字b_name,位置b_address,高度b_height) 字段名 字段类型 长度 字段值约束 对应中文属性名 b_number char 5 不为空 编号 b_name char 5 不为空 名字 b_address char 20 不为空 位置 b_height char 5 不为空 高度 (3).宿舍房间信息表dormitories: (房号d_number,容纳人数d_capacity,性别限制d_sex,宿舍费金额d_fare,是否缴纳宿舍费d_yes/no) 字段名 字段类型 长度 字段值约束 对应中文属性名 d_number char 5 不为空 房号 d_capacity char 5 不为空 容纳人数 d_sex char 20 不为空 性别限制 d_fare char 5 不为空 宿舍费金额 d_yes/no char 3 不为空 是否缴纳宿舍费 三、模块功能实现 1、创建项目 (1)打开MyEclipse,新建一个名为haha的Web工程。 (2)单击finish按钮完成。 (3)加载数据库驱动程序并在Tomcat6.0部署项目。 2、用户登录模块实现 (1)建立enter.jsp文件,代码如下: <%@pagecontentType="text/html;charset=gb2312"%>
请输入你的学号和密码
<%
Stringerror=request.getParameter("errortype");
if(error!
=null)
{
interrortype;
errortype=Integer.parseInt(error);
switch(errortype)
{
case1:
out.println("请输入学号!
");break;
case2:
out.println("请输入密码!
");break;
case3:
out.println("没有此人记录!
");break;
case4:
out.println("密码错误!
");break;
default:
}
}
%>
3、
(1)建立score.jsp文件,代码如下:
<%@pagecontenttype="text/html;charset=gb2312"%>
<%@pageimport="java.sql.*"%>
<%
Stringnum=request.getParameter("number");
Stringpassword=request.getParameter("password");
interrortype=0;
if(num.equals(""))
{
errortype=1;
response.sendRedirect("enter.jsp?
errortype="+errortype);
}
elseif(password.equals(""))
{
errortype=2;
response.senedRirect("enter.jsp?
errortype="+errortype);
}
else
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
student");
Statementsmt=con.createStatement();
Stringsql="select*frompswherenumber="+num+"";
Resultsetrs=smt.executeQuery(sql);
if(!
rs.next())
{
errortype=3;
response.sendRedirect("enter.jsp?
errortype="+errortype);
}
elseif(!
rs.getString
(2).equals(password))
{
errortype=4;
response.sendRedirect("enter.jsp?
errortype="+errortype);
}
else
{
sql="select*fromscorewherenumber="+num+"";
rs=smt.executeQuery(sql);
rs.next();
students:
学号s_number,姓名s_name、性别s_sex、所在院编号dep_number、所在班级class_number、电话号码tel
out.println(rs.getString
(1)+",欢迎进入此系统,你的住宿情况如下:
"+"
");
out.println("
out.println("姓名 性别 所在院编号 所在班级 所在班级 ");
out.println("
(2)+"
con.close();
}
con.close();
}%>
思考题
1、在大型项目系统开发过程中,需要开展哪些方面的工作?
答:
需求分析、业务抽象、应用架构、技术架构、物理架构
转载请注明出处:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 动态 网站 开发 实验 报告