首页 >> 实验教学 >> 实验项目 >> 详细内容
实验教学
 
实验项目 >> 正文
动态网页设计
日期:2021-12-09 18:38:00  发布人:nclgjsj  浏览量:123

实验一  JSP编程环境 

一、 实验目的 

1、搭建Web编程环境,能正确安装配置java运行环境、WEB服务器 

2 掌握正确运行jsp文件的方法 

二、 实验内容 

1 安装并配置java运行环境JDKJRE 2. 安装Web服务器tomcat, 配置Tomcat服务器 

三、 实验步骤 

1 JDKJRE安装结果:

2 ClasspathpathJava_Home设置

 

 

 

 

 

 

 

 

pathjavabin目录,Classpath jrert.jar目录,Java_Home为及java安装目录  

3 安装并配置Tomcat 

安装Tomcat服务器后并启动之。即: 

启动Tomcat服务器目录中bin\startup.bat文件。 

“开始菜单--运行”中输入http://localhost:8080/ 点击确定。

 

 

 

 

 

 

 

4 第一个JSP文件 

Tomcat服务器目录webapps\ROOT下: 1) 新建一个文本文件,改名为first.jsp. 2) 右击此文件,选择打开方式为记事本。 3)编辑内容如下: 

   <%@ page contentType="text/html;charset=GB2312" %> 

<HTML>

<BODY BGCOLOR=cyan> 

<FONT Size=4> 

<P>JSP页面的测试   

<% int x=100,y=500,z;      z=x+y;   %> 

<P> x+y的和为: <%= z %>

 </FONT></BODY>

</HTML> 

4)在地址栏或者运行菜单输入http://localhost:8080/first.jsp回车,然后观察运行结果 

五、 结果分析与总结 

通过该实验,进一步掌握了JSP运行环境等基本知识点,对Myeclipse软件,Tomcat服务器等重点掌握的内容有了进一步的了解。

 

实验二:JSP指令标记 

一、 实验目的 

本实验的目的是让学生掌握在JSP页面中使用page指令设置contentType的值;使用include指令在JSP页面中静态插入一个文件的内容。

二、 要求

编写三个JSP 页面:first.jsp second.jspthird.jsp。另外,要求用“记事本”编写一个txt文件hello.txthello.txt的每行有若干个英文单词,单词之间用空格分隔,每行之间用“<BR>”分隔,如下所示: 

Hello123.txt 

package apple void back public <BR> 

private throw class hello welcome 

1. first.jsp的具体要求 

first.jsp使用page指令设置contentType属性的值是"text/html",使用include指令静态插入hello.txt文件。 

2. second.jsp的具体要求 

second.sp使用page指令设置contentType属性的值是"application/vnd.ms-powerpoint"

3. third.jsp的具体要求 

third.jsp使用page指令设置contentType属性的值是"application/msword" 使用include指令静态插入hello.txt文件。

4JSP页面效果示例 

first.jsp(效果如图2-3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

五、 结果分析与总结 

通过该实验,进一步掌握了JSP与使用Page指令的基本知识点,对include指零的使用及注意事项和应该重点掌握的内容有了进一步的了解。

 

实验三、JSP动作标记

一、实验目 

本实验的目的是让学生掌握在JSP页面中使用include标记动态加载文件,使用forward实现页面的转向。 

二、实验要求 

编写三个JSP页面:giveFileName.jspreadFile.jsperror.jsp 

三、实验内容 

1giveFileName.jsp页面使用include动作标记动态加载readFtle.jsp页面,并将一个文件的名字ok.txt传递给被加载的readFtle.jsp页面。 

2readFile.jsp页面负责根据giveFileName.jsp页面传递过来的文件名字进行文件的读取操作,如果该文件不存在就使用forward动作标记将用户转向error.jsp 

3error.jsp负责显示错误信息。  

四、实验结果 

实验所用代码如下: 

giveFileName.jsp 

<%@ page contentType="text/html;charset=GB2312"%>   <HTML> 

<BODY BGCOLOR=yellow>  

   读取名字是ok.txt的文件: 

    <jsp:include page="readFile.jsp">       <jsp:param name="file" value="D:/Program Files/tomcat/webapps/chapter2/ok.txt"/>     </jsp:include> </BODY> </HTML> 

readFile.jsp 

<%@ page contentType="text/html;charset=GB2312"%>

<%@ page import="java.io.*"%> <HTML> 

<BODY BGCOLOR=cyan> 

 <P><FONT Size=2 color=bule>    This is readFile.jsp.     </FONT>  <FONT Size=4>  <%     

   String s= request.getParameter("file");    File f=new File(s);    if(f.exists())    { 

      out.println("<BR>文件"+s+"的内容:");       FileReader in=new FileReader(f); 

      BufferedReader bIn=new BufferedReader(in);       String line=null; 

      while((line=bIn.readLine())!=null)       { 

         out.println("<BR>"+line);

 }    }    else    {       %> 

        <jsp:forward page="error.jsp"> 

          <jsp:param name="mess" value="File Not Found"/>         </jsp:forward>       <%    }    %> 

 </FONT> </BODY> 

</HTML> error.jsp 

<%@ page contentType="text/html;charset=GB2312"%> <HTML> 

<BODY BGCOLOR=yellow> 

 <P><FONT Size=5 color=red>    This is error.jsp.     </FONT>  <FONT Size=2>  <% 

    String s= request.getParameter("mess");     out.println("<BR>本页面得到的信息:"+s);

%> 

 </FONT> 

</BODY> 

</HTML

五、实验结果分析 

include动作标记是在jsp页面运行时才处理加载的文件,被加载的文件在逻辑和语       法上独立与当前jsp页面,include指令标记可以使用param子标记向被加载的jsp 文件传递信息

实验四 JSP内置对象

一、实验目的

1、了解JSP9个内置对象requestreponse out的基本概念。

  • 理解JSP内置对象的常用方法的功能。
  • 掌握JSP内置对象的应用。

二、实验原理

JSP页面的转换阶段,JSP引擎在_jspService()方法中声明并初始化了隐含对象,它们主要是为了方便在JSP页面对这些对象的访问。这些隐含对象包括: requestresponseout、等。

三、实验内容

1. request对象:客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。

参考源代码:

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

 

<title>My JSP 'index.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

</head>

 

<body bgcolor="#FFFFF0">

<form action="" method="post">

<input type="text" name="qwe">

<input type="submit" value="提交">

</form>

请求方式:<%=request.getMethod()%><br>

请求的资源:<%=request.getRequestURI()%><br>

请求用的协议:<%=request.getProtocol()%><br>

请求的文件名:<%=request.getServletPath()%><br>

请求的服务器的IP<%=request.getServerName()%><br>

请求服务器的端口:<%=request.getServerPort()%><br>

客户端IP地址:<%=request.getRemoteAddr()%><br>

客户端主机名:<%=request.getRemoteHost()%><br>

表单提交来的值:<%=request.getParameter("qwe")%><br>

        <%

String str = "";

if (request.getParameter("qwe") != null) {

   Enumeration enumt = request.getParameterNames();

   while (enumt.hasMoreElements()) {

str = enumt.nextElement().toString();

out.println(str + ":"+request.getParameter(str)+ "<br>");

   }

}

%>

</body>

</html>

 

2response对象response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。

   本例演示如何进行客户端重定向。

   参考源代码:

   index.jsp代码如下:(mypage.jsp代码略,请同学们自己编写)

   <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

 

<title>你想重定向去哪个网站?</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

</head>

 

<body>

<%

String address = request.getParameter("where");

if (address != null) {

if (address.equals("sohu"))

response.sendRedirect("http://www.sohu.com");

else if (address.equals("avceit"))

response.sendRedirect("http://www.avceit.cn");

else if (address.equals("mypage"))

response.sendRedirect("mypage.jsp");

 

}

%>

<b>Please select:</b>

<br>

<form action="" method="GET">

<select name="where">

<option value="sohu" selected>

go to sohu

<option value="avceit">

go to avceit

<option value="mypage">

go to mypage

</select>

<input type="submit" value="go">

</form>

</body>

</html>

4.out对象:out对象是JspWriter类的实例,是向客户端输出内容常用的对象

参考源代码:

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

 

<title>My JSP 'index.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

</head>

 

<body>

<%

for (int i = 0; i < 2000; i++)

out.println(i + "{" + out.getRemaining() + "}");

%><br>

缓存大小:<%=out.getBufferSize()%><br>

剩余缓存大小:<%=out.getRemaining()%><br>

自动刷新:<%=out.isAutoFlush()%><br>

<%--out.clearBuffer();--%>

<%--out.clear();--%>

</body>

</html>

五、 结果分析与总结 

通过该实验,进一步掌握了JSPJSP内置对象的基本知识点,对requestresponsesessionapplication的作用范围、注意事项和应该重点掌握的内容有了进一步的了解。

 

实验五 JSPJavaBean

一、 实验目的 

本实验的目的是让学生掌握使用有效范围是requestbean显示汽车的基本信息、是sessiontbean显示汽车的基本信息和是applicationbean制作一个简单的留言板。 

二、 实验仪器或设备 

学院提供公共机房,1/学生微型计算机  JSP相关的软件 

三、 总体设计(设计原理、设计方案及流程等) 

1 设计原理:利用JSPJavaBean(包括sessionrequest

application等)显示汽车的相应基本信息 

2 设计方案:首先,要编写一个JSP的文挡,然后再编写Java,两者

结合,方可显示需要的相应信息 

3 流程:首先,必须熟悉课本中的内容 

            然后,自学Java的两个章节以及上学期的Java 

         最后,根据所学知识做本次实验 

四、 实验步骤(包括主要步骤、代码分析等)

1 首先规划一下,编写JSPJava所需要的资源 2 编写JSPJava,使用基本语法 

inputAndShow.jsp的代码如下: 

<%@ page language="java" contentType="text/html;charset=gb2312" pageEncoding="gb2312"%>  

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 

<html> <head> 

<title>javaBean实例2</title> 

<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 

 </head> 

 <body bgcolor=yellow ><font size=5 color=blue>   

 <jsp:useBean id="car" class="tom.jiafei.Car"

scope="request"/> 

<form action="" name="" method="post"> 

  汽车牌号:<input type="text" name="number"> 

  <br>汽车名称:<input type="text"  name="name">    <br>汽车生产日期:<input type="text"  name="birthday" 

<input type="submit" value=提交 name="submit">   </form> 

  <jsp:setProperty name="car" property="*" />   <table border=3  width=50%>   <tr> 

  <td>汽车牌号</td><td>汽车名称</td><td>汽车生产日期</td> 

  </tr>   <tr> 

  <td><jsp:getProperty name="car" property="number"/></td> 

  <td><jsp:getProperty name="car" property="name"/></td> 

  <td><jsp:getProperty name="car" property="birthday"/></td> 

  </tr>

</table>  </font>   </body>  </html> 

input.jsp的代码如下: 

<%@ page language="java" contentType="text/html; charset=gb2312" 

    pageEncoding="gb2312"%> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 

<html> <head> 

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

<title>Insert title here</title> </head> 

<body bgcolor=cyan> <jsp:useBean id="car" class="tom.jiafei.Car" scope="session"/> 

 <form action="" method="post"> 

  汽车牌号:<input type="text" name="number"> 

  <br>汽车名称:<input type="text"  name="name"> 

<br>汽车生产日期:<input type="text" name="birthday"> 

 <input type="submit" value=提交 name="submit">   </form> 

  <p><a href="show.jsp">查看</a> 

<jsp:setProperty name="car" property="*" /> </body> </html> 

show.jsp的代码如下: 

<%@ page language="java" contentType="text/html; charset=gb2312" 

    pageEncoding="gb2312"%> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 

<html> <head> 

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

<title>wode</title> </head> 

<body bgcolor=yellow> <jsp:useBean id="car" class="tom.jiafei.Car" scope="session"/><br><br><br><br><br> 

<table border=3 width="50%" align="center"> 

<font align=center color=green> 

<tr> 

  <td>汽车牌号</td><td>汽车名称</td><td>汽车生产日期</td> 

</tr> <tr> 

  <td><jsp:getProperty name="car" property="number"/></td> 

  <td><jsp:getProperty name="car" property="name"/></td> 

  <td><jsp:getProperty name="car" property="birthday"/></td> 

</tr> </font> </table>  </body> </html> 

inputMess.jsp的代码如下: 

<%@ page language="java" contentType="text/html; charset=gb2312" 

    pageEncoding="gb2312"%> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 

<html> <head> 

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

<title>wede</title> </head> 

<body bgcolor="yellow"> <font size=5>  

<jsp:useBean id="board" class="tom.jiafei.MessBoard" scope="application"/> 

<form action="" method="post"> 

 姓名:<input type="text" name="name"><br> 

 <br> 留言标题:<input type="text" name="tap"></br>  <br> 留言内容: 

 <br><textArea name="text" rows=5 cols=50></textArea> <br> 

 <input type="submit" value=提交 name="submit"> </form> 

<jsp:setProperty name="board" property="*" /> 

<p><a href="showtwo.jsp">查看留言表</a></p></font>

</body> </html> 

showtwo.jsp的代码如下: 

<html> <head> 

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

<title>wede</title> </head> 

<body bgcolor="yellow">  <font size=5> 

<jsp:useBean id="board" class="tom.jiafei.MessBoard" scope="application"/> 

<br><br> 

<table border=2 width="60%" align="center" > <tr> 

  <th>姓名</th><th>标题</th><th>留言内容</th><th>留言时间</th> 

</tr> <tr> 

  <td><jsp:getProperty name="board" property="name"/></td> 

  <td><jsp:getProperty name="board" property="tap"/></td> 

  <td><textArea name="text" rows=7 cols=50><jsp:getProperty name="board" property="text"/></textArea></td> 

  <td><%=new java.util.Date()%></td> </tr>  </table>  

<a href="inputMess.jsp">我要留言</a> </font> </body> </html> 

五、 结果分析与总结 

通过该实验,进一步掌握了JSPJavaBean(实验)的基本知识点,对requestsessionapplication的作用范围、注意事项和应该重点掌握的内容有了进一步的了解。

 

实验六 JDBC连接数据库

一、实验目的

1.掌握使用jdbc连接数据库的方法

2.熟悉使用DatabaseMetaData对象的作用及常用方法的使用

二、实验环境

1.PC系列微机,Windows XP

2.myeclipse

3.mysql数据库

三、实验步骤

1.使用mysqljdbc驱动程序连接mysql数据库

2.掌握使用jdbc连接数据库的方法

3. DatabaseMetaData对象获取数据的库的基本信息

四、实验代码 

1)首先连接 Test 数据库,使用 getMetaData 方法获得数据库的元数据,然后声明一些必要的 变量。代码如下所示: 

try{

//载入 Oracle 驱动 

Class.forName("oracle.jdbc.driver.OracleDriver");

}catch(ClassNotFoundException e){System.out.println("Driver loading error!");} Connection con;

try{

//连接 Test 数据库 

String url="jdbc:oracle:thin:@localhost:1521:Test";

con=DriverManager.getConnection(url,"system","admin"); }catch(SQLException e){ e.printStackTrace();}
//获得数据库元数据 

DatabaseMetaData dbmd=con.getMetaData(); String DBInfo;

int n;

boolean b;

2)下面的代码使用包含数据库源数据的 dbmd 对象获得数据库的基本信息。 //获得驱动程序的名称 

DBInfo=dbmd.getDriverName();

System.out.println("驱动程序的名称是: "+DBInfo); System.out.println(" ")  ;

//获得驱动程序版本号 

DBInfo=dbmd.getDriverVersion();

System.out.println("驱动程序版本号:"+DBInfo); System.out.println(" ");

//获得连接数据库的 URL

DBInfo=dbmd.getURL();

System.out.println("连接数据库的 URL: "+DBInfo); System.out.println(" ")  ;

//获得数据库名称 

DBInfo=dbmd.getDatabaseProductName();

System.out.println("数据库名称是:"+DBInfo); System.out.println(" ");

//获得数据库版本号 

DBInfo=dbmd.getDatabaseProductVersion();

System.out.println("此数据库版本号:"+DBInfo); System.out.println(" ");

//获得用户名 

DBInfo=dbmd.getUserName();

System.out.println("用户名: "+DBInfo); System.out.println(" ")  ;

//获得 SQL 的关键字 

DBInfo=dbmd.getSQLKeywords();

System.out.println("SQL 中的关键词是:"+DBInfo); System.out.println(" ");

//获得系统函数 

DBInfo=dbmd.getSystemFunctions();

System.out.println("数据库的系统函数有:"+DBInfo); System.out.println(" ");

//获得日期函数 

DBInfo=dbmd.getTimeDateFunctions();

System.out.println("数据库的时间与日期函数有:"+DBInfo); System.out.println(" ");

//获得数学函数 

DBInfo=dbmd.getNumericFunctions();

System.out.println("数据库的数学函数有:"+DBInfo); System.out.println(" ");

//获得字符串函数 

DBInfo=dbmd.getStringFunctions();

System.out.println("数据库的字符串函数有:"+DBInfo); System.out.println(" ");

//获得表名的最大长度 

n=dbmd.getMaxTableNameLength();

System.out.println("表名的最大长度:"+n); System.out.println(" ");

//获得目录名的最大长度 

n=dbmd.getMaxCatalogNameLength();

System.out.println("目录名的最大长度:"+n); System.out.println(" ");

//获得列名的最大长度 

n=dbmd.getMaxColumnNameLength();

System.out.println("数据列的列名的最大长度:"+n); System.out.println(" ");

//获得允许的最多列数 

n=dbmd.getMaxColumnsInTable();

System.out.println("数据表中允许的最多列数:"+n); System.out.println(" ");

//获得在一个 SELECT 子句中使用的最多数据列数 
n=dbmd.getMaxColumnsInSelect();

System.out.println("允许在一个 SELECT 子句中使用的最多数据列数:"+n); System.out.println(" ");

//获得在一个索引中使用的最多数据列数 
n=dbmd.getMaxColumnsInIndex();

System.out.println("允许在一个索引中使用的最多数据列数:"+n); System.out.println(" ");

//获得可以并发访问的用户数 

n=dbmd.getMaxConnections();

System.out.println("可以并发访问的用户数:"+n); System.out.println(" ");

//获得一个 SELECT 语句最多可访问表的个数 
n=dbmd.getMaxTablesInSelect();

System.out.println("一个 SELECT 语句最多可访问表的个数:"+n); System.out.println(" ");

//获得 SQL 语句的最大长度 

n=dbmd.getMaxStatementLength();

System.out.println("SQL 语句的最大长度:"+n); System.out.println(" ");

//获得可同时打开的 SQL 命令数 

n=dbmd.getMaxStatements();

System.out.println("可同时打开的 SQL 命令数:"+n); System.out.println(" ");

//获得一个数据行的最大长度 
n=dbmd.getMaxRowSize();

System.out.println("一个数据行的最大长度:"+n); System.out.println(" ");

//获得游标名的最大长度 

n=dbmd.getMaxCursorNameLength();

System.out.println("游标名的最大长度:"+n); System.out.println(" ");

//获得存储过程名的最大长度 

n=dbmd.getMaxProcedureNameLength();

System.out.println("存储过程名的最大长度:"+n); System.out.println(" ");

3)下面的代码使用 dbmd 对象获得数据库的一些属性信息。 //判断数据库是否处于只读模式 

b=dbmd.isReadOnly();

System.out.println("此数据库是否处于只读模式:"+(b==true?"":"")); System.out.println(" ");

//判断排序时,null 值是否排在开始位置 
b=dbmd.nullsAreSortedAtStart();

System.out.println("排序时,null 值是否排在开始位置:"+(b==true?"":"")); System.out.println(" ");

//判断此数据库是支持批量更新 

b=dbmd.supportsBatchUpdates();

System.out.println("此数据库是支持批量更新:"+(b==true?"":"")); System.out.println(" ");

//判断此数据库是否支持存储过程 

b=dbmd.supportsStoredProcedures();

System.out.println("此数据库是否支持存储过程:"+(b==true?"":"")); System.out.println(" ");

4)下面的代码需要使用结果集(ResultSet)来获取数据库的信息。 //获得数据库的模式名 

ResultSet rs=dbmd.getSchemas();

System.out.println("此数据库的模式名有:"); while(rs.next())

System.out.print(rs.getString(1)+" "); System.out.println();

//获得数据库的类型信息 

rs=dbmd.getTypeInfo();
while(rs.next()){

System.out.print(" 数据类型名"+rs.getString(1));
System.out.print(" 数据类型"+ rs.getString(2));
System.out.print(" 精度"+ rs.getString(3));

System.out.println(" 基数"+ rs.getString(18));
}

System.out.println(" ");
//获得表 HR 的信息 

String[] table={ "TABLE", "VIEW"  };

rs=dbmd.getTables(null, "HR", "%", table); while(rs.next())  {

System.out.print("目录名 "+rs.getString(1));
System.out.print(" 模式名 "+rs.getString(2));
System.out.print(" 表名 "+rs.getString(3));

System.out.print(" 表的类型 "+rs.getString(4));
System.out.println(" 注释 "+rs.getString(5));
 }

System.out.println(" ");
//获得表 HR 的主键列的信息 

rs=dbmd.getPrimaryKeys(null, "HR","EMPLOYEES"); while(rs.next())  {

System.out.print(" 目录名 "+rs.getString(1));

System.out.print(" 模式名 "+rs.getString(2));

System.out.print(" 表名 "+rs.getString(3));

System.out.print(" 列名顺序号 "+rs.getString(4));
System.out.print(" 列名顺序号 "+rs.getString(5));
System.out.println(" 主键名 "+rs.getString(6));
 }

System.out.println(" ");
//获得表的类型信息 

rs=dbmd.getTableTypes();

System.out.println(" 表的类型有 ");
while(rs.next()){

System.out.print(" "+ rs.getString(1)); System.out.println();

System.out.println(" ");

}

//获得表 HR 的列的信息 

rs=dbmd.getColumns(null, "HR", "EMPLOYEES", "%");

System.out.println(" 表名 "+" 列名 "+" 数据类型"+" 本地类型名"+" 列的大小"+
" 小数位数"+" 数据基数"+" 是否可空"+" 索引号");

while(rs.next())  {

System.out.print(rs.getString(3)  +" ");
System.out.print(rs.getString(4)  +" ");
System.out.print(rs.getString(5)  +" ");

System.out.print(rs.getString(6)  +" ");
System.out.print(rs.getString(7)  +" ");
System.out.print(rs.getString(9)  +" ");

System.out.print(rs.getString(10)  +" ");
System.out.print(rs.getString(11)  +" ");
System.out.println(rs.getString(17)  +" ");
 }

System.out.println(" ");
//获得索引信息 

rs=dbmd.getIndexInfo(null, "HR", "EMPLOYEES", false, false);

System.out.println(" 表名"+" 索引名"+" 索引类型"+" 索引列名"+" 索引顺序"+
" 小数位数"+" 数据基数"+" 是否可空"+" 索引号");

while(rs.next())  {

System.out.print(rs.getString(3)+" ");
System.out.print(rs.getString(6)+" ");
System.out.print(rs.getString(7)+" ");

System.out.print(rs.getString(9)+" ");

System.out.println(rs.getString(10)+" ");
}

System.out.println(" ");
rs.close();

五、 结果分析与总结 

通过该实验,进一步掌握了JSP与数据库连接的基本知识点,JDBC连接数据库的方法及内容有了进一步的了解。

 

核发:nclgjsj 点击数:123收藏本页