web编程实验指导书.docx

上传人:b****2 文档编号:2555558 上传时间:2023-05-04 格式:DOCX 页数:32 大小:976.81KB
下载 相关 举报
web编程实验指导书.docx_第1页
第1页 / 共32页
web编程实验指导书.docx_第2页
第2页 / 共32页
web编程实验指导书.docx_第3页
第3页 / 共32页
web编程实验指导书.docx_第4页
第4页 / 共32页
web编程实验指导书.docx_第5页
第5页 / 共32页
web编程实验指导书.docx_第6页
第6页 / 共32页
web编程实验指导书.docx_第7页
第7页 / 共32页
web编程实验指导书.docx_第8页
第8页 / 共32页
web编程实验指导书.docx_第9页
第9页 / 共32页
web编程实验指导书.docx_第10页
第10页 / 共32页
web编程实验指导书.docx_第11页
第11页 / 共32页
web编程实验指导书.docx_第12页
第12页 / 共32页
web编程实验指导书.docx_第13页
第13页 / 共32页
web编程实验指导书.docx_第14页
第14页 / 共32页
web编程实验指导书.docx_第15页
第15页 / 共32页
web编程实验指导书.docx_第16页
第16页 / 共32页
web编程实验指导书.docx_第17页
第17页 / 共32页
web编程实验指导书.docx_第18页
第18页 / 共32页
web编程实验指导书.docx_第19页
第19页 / 共32页
web编程实验指导书.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

web编程实验指导书.docx

《web编程实验指导书.docx》由会员分享,可在线阅读,更多相关《web编程实验指导书.docx(32页珍藏版)》请在冰点文库上搜索。

web编程实验指导书.docx

web编程实验指导书

 

《Web编程》

 

实验参考资料

 

实验二:

熟悉JSP内置对象

一、实验目的

1、熟悉Tomcat服务器,熟悉在服务器端开发Web页面的基本操作。

2、熟悉JSP内置对象,如request、response、session、out和application等。

3、熟悉内置对象的方法,能够应用到实际编程中。

二、实验内容

1、熟悉Tomcat服务器的服务目录

可以在WEB浏览器下访问Tomcat服务器的服务目录中的WEB页面。

如输入:

http:

//localhost:

8080,可以显示Tomcat服务器中的默认页面,表明服务器运行正常。

2、熟悉JSP的内置对象,熟悉内置对象的方法,能够应用到实际编程中

使用JSP的内置对象,编写一个聊天室程序,使用户输入自己的ID后进入聊天室,在聊天室中可以输入消息,发送给消息显示页面,消息显示页面会显示所有人的发送来的消息,供所有用户查看。

见goto_index.jsp和index.jsp演示结果图,其中goto_index.jsp为登录页面,index.jsp为聊天室页面。

图1登录页面(goto_index.jsp)

图2聊天室页面index.jsp

(1)登录页面的设计

通过表单中的文本框和按钮提交ID信息给index.jsp页面。

ID信息可以通过session对象进行保存,便于其他页面使用。

其代码框架如下:

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

登录页面

请输入您的ID:

<%

if(request.getParameter("s")!

=null)

{

//

(1)利用session对象设置一个属性,把属性的值设置成文本框输入的ID信息

//

(2)利用response重定向的方法,将页面重定向到index.jsp

}

%>

(2)聊天室主页面设计

聊天室主页面index.jsp内含两个页面:

send.jsp(发送聊天消息)和show.jsp(显示聊天消息)。

可以通过html的frameset标记进行设置。

其代码框架如下:

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

聊天室

</p><p><body></p><p><%</p><p>//防止使用空ID登录,防止直接调用index.jsp页面,如果出现上述情况,使用response对象的重定向将页面定向到登录页面</p><p>if((session.getAttribute("name")==null)||(session.getAttribute("name").equals("")))</p><p>response.sendRedirect("goto_index.jsp");</p><p>%></p><p></body></p><p>

(3)发送聊天消息页面的设计

发送聊天消息页面send.jsp通过文本框和按钮提交聊天消息,保存在一个容器(Vector)中,并将此Vector作为值放入一个application设置的属性中,便于所有用户查看。

注意:

自己发送的消息实时显示的问题。

可以通过top.location.reload()方法刷新show.jsp解决。

其代码框架如下:

<%@pagecontentType="text/html;charset=GB2312"import="java.util.*"%>

输入聊天内容:

<%!

Vectorv=newVector();//定义一个Vector对象,用于存放聊天信息

%>

<%

//

(1)定义一个字符串变量,如message,用于存放文本框提交的消息(使用request.getParameter()方法)

//

(2)定义一个字符串变量,如name,用于存放登录者ID(session.getAttribute()方法)

//(3)如果消息不为空:

if(!

message.equals(“”))

{

//将字符串组合放入Vector对象中,如:

v.add(name+":

"+message),并使用application.setAttribute(),将此Vector对象放入一个属性中,便于show.jsp调用。

%>

<%

}

%>

(4)聊天消息显示页面的设计

聊天消息显示页面show.jsp显示所有聊天消息,即从application中取出Vector的值,通过out.print()显示在客户端。

并且通过不断刷新本页面的方法来显示最新的消息。

其代码框架如下:

<%@pagecontentType="text/html;charset=GB2312"import="java.util.*"%>

<%

//

(1)显示“欢迎你,xxx“的字符串,ID可以从session对象中获得

//

(2)定义一个Vector对象,从application中获得值,即目前所有消息的信息

//(3)如果Vector对象值不为空,则把其中的String类型的消息都打印出来:

if(v!

=null)

{

for(inti=0;i

out.print("

"+(String)v.elementAt(i));

}

//(4)定时刷新本页面,使用response对象的刷新方法

%>

三、思考题

思考如何对聊天室进行扩展,比如添加在线人员名单、防止重复ID登录等等。

实验三:

使用JSP操作文件

一、实验目的

1、熟悉JAVA操作文件的方法

2、熟悉JSP中操作文件的方法,能够在实际应用中编写JSP操作文件的Web程序

二、实验内容

1、熟悉JAVA操作文件的方法

包括JAVA的字节流、字符流、数据流、对象流和RandomAccessFile类的用法。

自己动手演示课堂上讲授的典型的例子。

2、熟悉JSP中操作文件的方法,能够编程应用在实际Web页面中

使用RandomAccessFile类操作文件,实现JSP在线测试页面。

客户请求首页面,首页面处理试题文件,将文件中的每一行(每一行表示一道题目)读出,存放在session对象的属性中,然后点击按钮进入练习页面。

练习页面从第一题开始显示,即按顺序获取session对象的属性并显示。

用户通过单选按钮选择答案,并进行提交,然后页面下部显示得分和正确答案。

提交完最后一题,页面显示结束信息,并给出最后得分。

程序运行结果如图1、2、3所示。

图1首页面toindex.jsp

图2在线测试页面(试题测试中)

图3在线测试页面(测试结束)

(1)试题文件的格式

试题文件中,每一行表示一道题目,题目、四个备选答案和正确答案之间用“#”隔开,如:

#JSP内置对象中,用于输出数据到客户端进行显示的对象是:

#out#session#request#response#A#

#JSP内置对象中,用于提交客户端请求的对象是:

#out#session#request#response#C#

#session对象的ID值是存放在客户端的#windows目录下的系统文件中#cookie中#WEB服务器的服务目录下文件中#缓冲区中#B#

(2)首页面的设计

设置成绩和题目号数的初始值,放入session属性中存储,并使用RandomAccessFile类访问test.txt文件,把每个题目所包含的信息用session对象进行存储。

通过按钮进入练习页面。

其代码框架如下:

<%@pagecontentType="text/html;charset=GB2312"import="java.io.*,java.util.*"%>

以下练习题为教材第二章第三节课后习题

<%

//

(1)初始化一些需要的变量

inti=0;

Stringstr=null;

//

(2)使用session对象设置两个属性,表示成绩和题号,初始值都是0

//(3)使用RandomAccessFile操作文件,将文件中的每一行读出(可以使用readLine()方法),并存入到session对象中

try{

......//生成RandomAccessFile类对象

while((str=random.readLine())!

=null)

{

......//分别将文件的每行内容放入到session对象的属性中,属性名字可以使用1、2、3等。

}

}

catch(IOExceptione){}

%>

<--表单,提交后进入练习页面-->

(3)练习页面的设计

首先取得题号值,然后将本题号对应的session属性的信息提取出来,并进行显示。

提交选择后,处理选择是否和题目答案一致,将当前分数和正确答案进行显示,并显示下一题。

提交完最后一题后,显示结束信息和最终分数。

其代码框架如下:

<%@pagecontentType="text/html;charset=GB2312"import="java.io.*,java.util.*"%>

<%!

publicStringgetStr(Stringstr){

try{

Stringtemp_p=str;

byte[]temp_t=temp_p.getBytes("ISO8859-1");

Stringtemp=newString(temp_t);

returntemp;

}

catch(Exceptione){

}

return"null";

}

%>

<%

//

(1)防止直接调用index.jsp页面

if(request.getParameter("s")==null)

response.sendRedirect("toindex.jsp");

Stringoption[]=newString[6];//定义一个字符串数组,用来存放题干\备选答案\正确答案

inttihao=0;//定义一个int,用来存放题号

//

(2)使用session对象的getAttribute()方法获得题号,对目前题号值加1,为新题目号,然后再放回该属性

//(3)获取新题目在文件中的对应行,使用session.getAttribute()方法,结果存入一个字符串,如str

if(str!

=null)//如果还可以取到内容(即没到文件末尾,没到最后一题的末尾)

{

StringTokenizertokenizer=newStringTokenizer(str,"#");

while(tokenizer.hasMoreTokens())

{

option[i]=tokenizer.nextToken();//将#之间的字符串分别赋给option[]数组

i++;

}

tihao=number.intValue();

session.setAttribute("answer"+tihao,option[5]);//设置每题的正确答案属性

//(4)使用out对象打印题目信息

//(5)得出上题的提交答案和正确答案,放入到字符串中,分别使用request.getParameter()和session.getAttribute()方法

//(6)判断提交答案是否为空

if(result==null)

{

result="没有给出答案";

}

//(7)判断提交答案是否和正确答案一致,一致则对分数属性加1,使用session.getAttribute()和session.setAttribute()方法

//(8)使用out.print()方法打印现在的分数、上一题提交的答案和上一题的正确答案

}

else//到了文件末尾,即最后一题已提交

{

//(9)取出最后一个的提交答案和最后一题的正确答案,判断是否正确,成绩是否加1

//(10)打印“练习结束”的字样和最终成绩的结果

}

%>

实验四和实验五:

使用JSP操作数据库

一、实验目的

1、掌握JAVA操作数据库的方法,包括连接数据库、查询、更新、添加和删除数据记录的方法。

2、使用JSP操作数据库,能够在实际编程中使用JSP操作数据库。

二、实验内容

1、掌握JAVA操作数据库的方法

包括连接数据库、查询、更新、添加和删除数据记录的方法。

自己动手演示课堂上讲授的典型的例子。

2、熟悉JSP中操作数据库的方法,能够编程应用在实际Web页面中

使用JSP操作后台SQLSERVER数据库,编写一个留言本,包括用户的注册、登录和留言功能。

(1)建立数据库,并连接到一个ODBC数据源之上

实现数据库程序的第一步必须要建一个数据库供程序使用。

在MicrosoftSQLServer中,我们通过“企业管理器”客户端工具来建立一个用户自己的数据库。

选择“程序”—“MicrosoftSQLServer”—“企业管理器”,进入SQLServer的客户端控制台,点开树形目录,进入数据库项,见图1。

图1SQLServer企业管理器

图中可以看到有许多系统数据库。

用户需要自己创建一个新的数据库来使用,创建方法十分简单,在树形目录“数据库”上单击右键,选择“新建数据库”,系统会给出向导,输入数据库名后选择“确定”,就会在数据库项下出现刚刚新建的数据库的名字,表示数据库已经新建完成。

建好数据库后,我们需要在操作系统中建立一个ODBC数据源,然后连接到我们刚刚新建的数据库中,然后用户通过使用ODBCAPI就可以操作数据库了。

建立ODBC数据源的步骤如下:

1、在“控制面板”中选择“管理工具”,然后双击“数据源(ODBC)”,进入“ODBC数据源管理器”。

见图2。

图2ODBC数据源管理器

我们选择“系统DSN”,点击“添加”按钮,进入新建数据源设置。

1)首先选择创建什么类型的数据源,这里选择SQLServer,见图3。

进入下一步。

2)输入数据源的名字,选择服务器,如果是本地数据库,选择Local。

见图4。

进入下一步。

3)设置SQLServer验证方式,这里按图5设置的方式进行验证,输入我们安装SQLServer时设置的sa用户和密码,进入下一步。

4)通过选择“更改默认的数据库”,将数据源连接到新建的数据库上。

见图6。

进入下一步,点击“完成”,显示刚刚配置的ODBC信息。

见图7。

图3选择数据源类型

图4输入数据源名和选择服务器

图5设置SQLServer验证方式

图6更改默认的数据库

图7ODBC数据源配置信息

5)点击“测试数据源”,如果配置成功,则会显示连接成功的信息,如图8。

图8ODBC数据源创建成功

(2)在数据库中建表

数据库和ODBC数据源创建成功后,我们开始设计数据库。

由于我们需要保存用户注册信息和用户留言信息,所以需要在数据库中建两个表。

进入SQLServer的企业管理器,开始操作数据库。

点击树形目录下“数据库”的“test”,在“表”上点击右键,选择“新建表”,进入新表的设计界面,见图9。

图9新建表

首先建立留言本用户注册信息表,其中需要两项信息:

用户名和密码,即需要在表中设置两个列名用来存储对应信息。

接下来设置两个列名的数据类型,这里设置成varchar类型,可以输入50位长度的字符串。

然后我们点击右键,选择“保存”,输入表名并确定后,这个表就成功被创建了。

这时我们双击test下的“表”,发现新建的表已经出现在右侧的类表中了。

如果我们打算再修改表的设计,可以在表名上点击右键,选择“设计表”,可以进入表设计界面。

如果我们打算向表中添加内容,可以在表名上点击右键,选择“打开表”—“返回所有行”,就可以进行表内容输入了。

同样步骤建立留言信息表,需要三列:

留言用户名、留言内容和留言时间。

(3)用户登录页面的设计

用户注册页面的运行结果图如图10所示。

图10用户登录页面

用户在本页面中输入名字和密码,进行留言本的登录。

本页面的程序对用户输入的信息在数据库的表中进行查询,如果存在此姓名,并且姓名和密码匹配,则允许用户进入留言本页面,否则重新登录。

另外如果是新用户,首先要进行注册,点击“注册”后进入注册页面。

其程序代码框架如下:

<%@pagecontentType="text/html;charset=gb2312"%>

<%@pagelanguage="java"import="java.sql.*"%>

登录

 

<%!

publicStringgetStr(Stringstr){

try{

Stringtemp_p=str;

byte[]temp_t=temp_p.getBytes("ISO8859-1");

Stringtemp=newString(temp_t);

returntemp;

}

catch(Exceptione){

}

return"null";

}

%>

<%

if(request.getParameter("sub1")!

=null){

//定义两个字符串,用于存放用户输入的名字和密码

//定义一个字符串sql,用于写SQL语句

//定义数据库连接、结果集对象,执行sql语句

try

{

//查找是否有结果集内容,如果有,则说明用户名和密码匹配,使用一个标记,如rowscount++

//关闭数据库连接

}

catch(Exceptione){}

if(rowscount!

=0)

{

//说明用户名和密码匹配,登录成功

//设置一些session属性,提供给其他页面使用

session.setAttribute("Ok","yes");

session.setAttribute("username",request.getParameter("logname"));

//重定向到留言本页面

response.sendRedirect("liuyanben.jsp");

}

}

elseif(str1!

=null)

{

//如果选择“注册”按钮,则重定向到注册页面

response.sendRedirect("zhuce.jsp");

}

%>

//表单,注意action为空

名字:

新用户请先注册

密码:

(4)用户注册页面的设计

用户注册页面见图11。

图11用户注册页面

首先判断两次输入的密码是否一直,然后判断使用的用户名是否已经存在,符合条件的话,将用户名和密码的信息添加到数据库的表中,并回到登录页面。

其代码框架如下:

<%@pagecontentType="text/html;charset=GB2312"import="java.sql.*,java.util.Date"%>

新用户注册

新用户注册

<%!

publicStringgetStr(Stringstr){

try{

Stringtemp_p=str;

byte[]temp_t=temp_p.getBytes("ISO8859-1");

Stringtemp=newString(temp_t);

returntemp;

}

catch(Exceptione){

}

return"null";

}

%>

用户名:

密码:

再次确认密码:

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2