收藏 分销(赏)

Java语言案例开发实验指导书.doc

上传人:二*** 文档编号:4520355 上传时间:2024-09-26 格式:DOC 页数:53 大小:1.31MB 下载积分:5 金币
下载 相关 举报
Java语言案例开发实验指导书.doc_第1页
第1页 / 共53页
本文档共53页,全文阅读请下载到手机保存,查看更方便
资源描述
Java语言案例开发实验指导书 实验学时:24 序号 实验名称 内容要求 实验 学时 每组 人数 实验 属性 开出 要求 1 实验一JSP实验环境组建与JSP应用 JSP运行原理;JSP开发环境的搭配;创建第1个JSP程序并部署运行。 2 1 综合 必做 2 实验二 JSP语法 JSP脚本元素;掌握JSP注释方式;掌握JSP指令元素;掌握JSP动作元素的相关知识。 2 1 综合 必做 3 实验三JSP内置对象 内置对象的概念;请求对象request;响应对象response;会话对象session;多客户端共享对象application;页面对象page和页面上下文对象pageContext; 输出对象out、配置对象config、异常对象exception。 4 1 综合 必做 4 实验四JavaBean组件技术 JavaBean属性、作用域和应用实例分析 4 1 综合 必做 5 实验五 Servlet技术 获取运行环境信息的方法;Servlet会话设置和异常设置;Servlet过滤器和监听器的工作原理;Servlet过滤器和监听器的具体应用。 6 1 综合 必做 6 实验六JDBC技术 JDBC执行步骤;JDBC的常用接口及使用方法;如何应用JDBC事务;如何利用数据库连接池技术访问数据库。 6 1 综合 必做 实验一 JSP实验环境组建与JSP应用(2学时) 一、实验目的 (1)通过运行程序,了解JSP的运行原理; (2)掌握JSP开发环境的配置和部署; (3)部署运行JSP程序。 二、实验内容 1.开发环境搭建 Step1:安装和设置JDK 以jdk1.6为例,安装位置C:\Program Files\Java\jdk1.6.0_12 创建环境变量:JAVA_HOME为C:\Program Files\Java\jdk1.6.0_12 在建环境变量PATH中添加:%JAVA_HOME%\bin; 创建环境变量CLASSPATH: %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; Step2:安装支持JSP的Web服务器 以Tomcat6.0.29为例,安装位置d:\Tomcat6 Step3:安装MyEclipse 安装MyEclipse9 Step4:设置Tomcat,可以从MyEclipse中直接启动Tomcat6 操作步骤:WindowàPreferencesàMyEclipse Enterprise Workbenchà MyEclipseàServersàTomcatàTomcat6.x l Tomcat Server选择Enable l Tomcat home directory:d:\tomcat6 l 设置Tomcat运行使用的JDK:展开Tomcat6.x,单击JDK,单击tomcat JDK name:后的Add,在打开的页面中,单击JRE home后的Directory按钮,选择输入C:\Program Files\Java\jdk1.6.0_12 2.开发和运行JSP程序 n 创建Web项目 FileàNewàWeb Project(如:Myjsp) n 新建JSP文件(如firstJsp.jsp) n 编辑JSP文件 n 发布项目到Tomcat 右击项目名称MyjspàMyEclipseàAdd and Remove Project Deployments Project:选择Myjsp项目,并单击Add,弹出Project Deployments对话框, 在对话框中,选择server为Tomcat 6.x,并单击Finish n 运行测试 n 启动Tomcat 6.x n 运行JSP文件 浏览器中输入:http://localhost:8080/Myjsp/firstJsp.jsp 3.练习 (1)编写一个JSP程序,在页面中输入系统时间,要求:输入的系统时间时判断当前时间是“上午”、“中午”还是“下午”,并给出友好的提示信息。例如,当前系统时间是上午,在页面输出“早上好,新的一天即将开始,你准备好了吗?”;当前系统时间是中午,在页面输出“午休时间,正午好时光!”;当前系统时间是下午,在页面中输出“下午继续努力工作吧”。 参考代码: <%@ page language="java" import="java.util.*,java.text.*" pageEncoding="ISO-8859-1"%> <html> <head> <title>output the system time!</title> </head> <body> <% Date d=new Date(); SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time=format.format(d); out.println("Current time is "+time);%><br> <% //Excise1.5 int h=d.getHours(); if(h>=1 && h<=12) out.println(h+"hour Good morning"); else if(h>=13 && h<=16) out.println(h+"hour Good aftermoon"); else out.println(h+"hour Good evening"); %> </body> </html> (2)编写一个电子商城的用户注册页面,要求该主页面中包含用户设置的用户名、密码、真实姓名、性别、年龄等表单,并使用Javascript编写函数,当用户点击“提交”按钮时,会检查用户名、密码、真实姓名等项是否为空。 三、复习和预习内容 眼过千遍不如手动一遍,所以一定要多动手写程序,才可能真正的理解程序的逻辑和内涵。 复习JSP程序的结构、部署和运行过程;预习JSP语法的相关内容。希望大家能在实验中多思考,多给自己提问题,多设想几种可能。做实验时不要满足于验证书本知识。在以后的实验中,请读者自己设计具体的实验步骤,尽可能自己补充增加一些内容,以提高自己的实践能力。 实验二 JSP语法(2学时) 一、实验目的 (1)掌握JSP文件的组成、指令元素、动作元素等的使用。 (2)在实际应用中,灵活使用JSP中的各种元素。 二、实验内容 1、编写两个JSP页面,分别为inputName.jsp和people.jsp。 (1)inputName.jsp:有一个表单,用户通过该表单输入自己的姓名并提交给people.jsp页面。 (2)people.jsp:名字为person、类型是StringBuffer以及名字是count、类型为int的成员变量。该页面有public void judge ()方法。该方法负责创建person对象,当count的值是0时,judge ()方法创建person对象。该页面有public void addPerson(String p)方法,该方法将参数p指定的字符串添加到成员变量person末尾,同时将count作自增运算。该页面在程序片中获取inputName.jsp页面提交的姓名,然后调用judge()创建person对象、调用addPerson方法将用户的姓名添加到成员变量person末尾。如果inputName.jsp页面没有提交姓名,或姓名含有的字符个数大于10,就使用<jsp:forward page="要转向的页面"/>标记将用户转到inputName.jsp页面。通过Java表达式输出person和count的值。 图3-1 输入姓名 inputName.jsp 图3-2 显示姓名和人数 people.jsp (3)参考代码 inputName.jsp <%@ page contentType="text/html;charset=GB2312" %> <HTML> <BODY bgcolor=cyan> <FONT size=3> <FORM action="people.jsp" method=get name=form> 请输入姓名:<INPUT type="text" name="name"> <BR> <INPUT TYPE="submit" value="送出" name=submit> </FORM> </BODY> </HTML> people.jsp <%@ page contentType="text/html;charset=GB2312" %> <HTML> <BODY BGCOLOR=yellow> <FONT Size=3> <%! int count; StringBuffer person; public void judge() { if(count==0) person=new StringBuffer(); } public void addPerson(String p) { if(count==0) { person.append(p); } else { person.append(","+p); } count++; } %> <% String name=request.getParameter("name"); byte bb[]=name.getBytes("iso-8859-1"); name=new String(bb); if(name.length()==0||name.length()>10) { %> <jsp:forward page="inputName.jsp" /> <% } judge(); addPerson(name); %> <BR> 目前共有<%=count%>人浏览了该页面,他们的名字是: <BR> <%=person%> </FONT> </BODY> </HTML> 2、JSP指令标记(选做) 编写三个JSP 页面:first.jsp 、second.jsp和third.jsp。另外,要求用“记事本”编写一个TXT文件hello.txt。hello.txt的每行有若干个英文单词,单词之间用空格分隔,每行之间用“<BR>”分隔,如下所示: hello.txt package apple void back public <BR> private throw class hello welcome (1)first.jsp: 使用page指令设置contentType属性的值是text/plain,使用include指令静态插入hello.txt文件。 (2)second.jsp: 使用page指令设置contentType属性的值是application/vnd.ms-powerpoint,使用include指令静态插入hello.txt文件。 (3)third.jsp:使用page指令设置contentType属性的值是application/msword,使用include指令静态插入hello.txt文件。 图3-3 contentType的值是text/plain first.jsp 图3-4 contentType的值是application/vnd.ms-powerpoint second.jsp 图3-5 contentType的值是application/msword third.jsp (3)参考代码 first.jsp <%@ page contentType="text/plain" %> <HTML> <BODY > <FONT size=4 color=blule> <%@include file="hello.txt" %> </FONT> </BODY> </HTML> second.jsp <%@ page contentType="application/vnd.ms-powerpoint" %> <HTML> <BODY > <FONT size=2 color=blule> <%@include file="hello.txt" %> </FONT> </BODY> </HTML> third.jsp <%@ page contentType="application/msword" %> <HTML> <BODY > <FONT size=4 color=blule> <%@include file="hello.txt" %> </FONT> </BODY> </HTML> 3、JSP动作标记(选做) 编写四个JSP 页面:one.jsp 、two.jsp、three.jsp和error.jsp。one.jsp 、two.jsp和three.jsp页面都含有一个导航条,以便让用户方便地单击超链接访问这三个页面,要求这三个页面通过使用include动作标记动态加载导航条文件head.txt。 head.txt <%@ page contentType="text/html;charset=GB2312" %> <table cellSpacing="1" cellPadding="1" width="60%" align="center" border="0" > <tr valign="bottom"> <td><A href="one.jsp"><font size=3>one.jsp页面</font></A></td> <td><A href="two.jsp"><font size=3>two.jsp页面</font></A></td> <td><A href="three.jsp"><font size=3>three.jsp页面</font></A></td> </tr> </Font> </table> (1)one.jsp: 有一个表单,用户使用该表单可以输入一个1~100之间的整数,并提交给该页面;如果输入的整数在50~100之间(不包括50)就转向three.jsp,如果在1~50之间就转向two.jsp;如果输入不符合要求就转向error.jsp。要求forward标记在实现页面转向时,使用param子标记将整数传递到转向的two.jsp或three.jsp页面,将有关输入错误传递到转向的error.jsp页面。 (2)two.jsp、three.jsp和error.jsp: 要求two.jsp和three.jsp能输出one.jsp传递过来的值,并显示一幅图像,该图像的宽和高刚好是one.jsp页面传递过来的值。error.jsp页面能显示有关的错误信息和一幅图像。 图3-6 使用include动作标记加载导航条 one.jsp 图3-7 得到param子标记传递来的值 two.jsp 图3-8 得到param子标记传递来的值 three.jsp error.jsp(效果如图1-9所示) 图3-9 显示错误信息 (3) 参考代码 one.jsp <%@ page contentType="text/html;charset=GB2312" %> <HEAD> <jsp:include page="head.txt"/> </HEAD> <HTML> <BODY bgcolor=yellow> <FORM action="" method=get name=form> 请输入1至100之间的整数:<INPUT type="text" name="number"> <BR> <INPUT TYPE="submit" value="送出" name=submit> </FORM> <% String num=request.getParameter("number"); if(num==null) { num="0"; } try { int n=Integer.parseInt(num); if(n>=1&&n<=50) { %> <jsp:forward page="two.jsp" > <jsp:param name="number" value="<%=n%>" /> </jsp:forward> <% } else if(n>50&&n<=100) { %> <jsp:forward page="three.jsp" > <jsp:param name="number" value="<%=n%>" /> </jsp:forward> <% } } catch(Exception e) { %> <jsp:forward page="error.jsp" > <jsp:param name="mess" value="<%=e.toString()%>" /> </jsp:forward> <% } %> </BODY> </HTML> two.jsp <%@ page contentType="text/html;charset=GB2312" %> <HEAD> <jsp:include page="head.txt"/> </HEAD> <HTML> <BODY bgcolor=yellow> <P><Font size=2 color=blue> This is two.jsp. </Font> <Font size=3> <% String s=request.getParameter("number"); out.println("<BR>传递过来的值是"+s); %> <BR><img src="a.jpg" width="<%=s%>" height="<%=s%>" ></img> </FONT> </BODY> </HTML> three.jsp <%@ page contentType="text/html;charset=GB2312" %> <HEAD> <jsp:include page="head.txt"/> </HEAD> <HTML> <BODY bgcolor=yellow> <P><Font size=2 color=red> This is three.jsp. </Font> <Font size=3> <% String s=request.getParameter("number"); out.println("<BR>传递过来的值是"+s); %> <BR><img src="b.jpg" width="<%=s%>" height="<%=s%>" ></img> </FONT> </BODY> </HTML> error.jsp <%@ page contentType="text/html;charset=GB2312" %> <HEAD> <jsp:include page="head.txt"/> </HEAD> <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); %> <BR><img src="c.jpg" width="120" height="120" ></img> </FONT> </BODY> </HTML> 三、复习和预习内容 眼过千遍不如手动一遍,所以一定要多动手写程序,才可能真正的理解程序的逻辑和内涵。 复习JSP语法;预习JSP内置对象的相关内容。希望大家能在实验中多思考,多给自己提问题,多设想几种可能。做实验时不要满足于验证书本知识。在以后的实验中,请读者自己设计具体的实验步骤,尽可能自己补充增加一些内容,以提高自己的实践能力。 实验三 JSP内置对象(4学时) 一、实验目的 (1)掌握内置对象request、response、session、application、out和exception等的含义、用法和作用域范围。 (2)在实际应用中,根据不同的需求使用JSP不同作用域范围的内置对象。 二、实验内容 1、对实验二的内容进行扩展,必须实现以下4个jsp文件,采用jsp+JavaBean实现。 (1) login.jsp:登录页面,如图4-1所示。 图4-1 (2) doLogin.jsp(无界面):登录处理页面,假定正确的用户名为admin,口令为123。如果用户名和口令不正确则显示登录错误信息,否则登录成功后,重定向到messageBoard.jsp(留言板页面),可以进行留言。 (3) messageBoard.jsp: 留言板页面,能实现如图4-2所示的留言。 图4-2 (4) showMessage.jsp:显示留言信息页面,如图4-3所示。该页面能显示留言者(必须为login.jsp页面中输入的用户名)、标题和内容,要求能正确显示图3-1所示的留言内容。提示:留言者的用session保存 图4-3 参考代码: login.jsp: <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <html> <head> </head> <body > <form action="doLogin.jsp"> <p>用户名:<input type="text" name="username"/></p> <p>口 令:<input type="password" name="password"/><p> <input type="submit" value="提交"/> <input type="reset" value="重置"/> </form> </body> </html> doLogin.jsp: <%@ page language="java" pageEncoding="gb2312"%> <% String userName=request.getParameter("username");//获取用户名 String passWord=request.getParameter("password");//获取口令 if(userName.equals("admin") && passWord.equals("123")){ //用户名和密码正确 session.setAttribute("name",userName); //用户名写入session,显示留言时需要 response.sendRedirect("messageBoard.jsp"); //重定向到留言页面 } else{ response.sendError(500,"登陆错误,用户名或密码不正确!"); } %> messageBoard.jsp <%@ page contentType="text/html;charset=gb2312"%> <!-- 提交的是几个表单的测试 --> <form name="form1" action="showMessage.jsp" method="post"> <table border="1" rules="rows"> <tr height="30"> <td>发言标题:</td> <td><input type="text" name="title" size="35"></td> </tr> <tr> <td>发言内容:</td> <td><textarea name="content" rows="8" cols="34"></textarea></td> </tr> <tr align="center" height="30"> <td colspan="2"> <input type="submit" value="提交"> <input type="reset" value="重置"> </td> </table> </form> showMessage.jsp: <%@ page contentType="text/html; charset=GBK"%> <jsp:useBean id="message" class="bean.Message" scope="request"> <jsp:setProperty name="message" property="*"/> </jsp:useBean> <html> <title>显示留言信息</title> <body> 留言者:<%=session.getAttribute("name") %><br> <%=message.getTitle() %><br> <%=message.getContent() %><br> <%=request.getParameter("title") %><br> <%=request.getParameter("content") %><br> </body> </html> 2、实现不同作用范围内的网页计数器,并查看其区别所在。(request,session,application) 3、在工程中增加一个页面,在页面中实现加减乘除的运算页面,并实现运算结果的计算显示功能。(选做) 关键代码: <h1>计算测试</h1><br> <form action="calculate.jsp" method="get"> 运算数1:<input type="text" name="num1"><br> 运算数2:<input type="text" name="num2"><br> <input type="submit" name="operation" value="+"> <input type="submit" name="operation" value="-"> <input type="submit" name="operation" value="*"> <input type="submit" name="operation" value="/"> </form> <hr size=10 color="blue"> <% double num1=0.0; double num2=0.0; double result=0.0; if(request.getParameter("num1")!=null)num1=Double.parseDouble(request.getParameter("num1")); if(request.getParameter("num2")!=null)num2=Double.parseDouble(request.getParameter("num2")); String operation=request.getParameter("operation"); if(operation!=null) { if(operation.trim().equals("+")) {result=num1+num2; } if(operation.trim().equals("-")) {result=num1-num2; } if(operation.trim().equals("*")) {result=num1*num2; } if(operation.trim().equals("/")) {result=num1/num2; } out.write("<h1>"+num1+operation+num2+"="+result+"</h1>"); } %> 三、复习和预习内容 眼过千遍不如手动一遍,所以一定要多动手写程序,才可能真正的理解程序的逻辑和内涵。 复习JSP内置对象;预习JavaBean组件的相关内容。希望大家能在实验中多思考,多给自己提问题,多设想几种可能。做实验时不要满足于验证书本知识。在以后的实验中,请读者自己设计具体的实验步骤,尽可能自己补充增加一些内容,以提高自己的实践能力。 实验四 JavaBean组件技术(4学时) 一、实验目的 (1)理解 JavaBean 的作用; (2)能够定义 JavaBean; (3)能在 jsp 页面中使用 JavaBean。 二、实验内容 1、实现客户在一个登录页面form.jsp(如图5-1)输入登录信息并单击“确定”后,跳转到另一个页面doForm.jsp(如图2-2)输出“用户名”和“口令”信息。 图5-1 图5-2 要求:分别用下列三种方法实现。 (1)创建一个JavaBean----User类,该类含有两个属性username和password,给每个属性增加相应的get和set方法。在doForm.jsp页面中用<jsp:useBean>动作标识实例化User类对象,再使用<jsp:setProperty>动作标识来把客户在form.jsp表单中填写的值赋给对象,最后用<jsp:getProperty>在页面输出结果。 (2)创建一个JavaBean----User类,该类含有两个属性username和password,给每个属性增加相应的get和set方法。在doForm.jsp页面中采用Java以jsp脚本代码(scriptlet)方式实例化User类对象,用setAttribute()函数把对象写入request或session中,再使用<jsp:setProperty>动作标识来把客户在form.jsp表单中填写的值赋给对象,最后用jsp表达式的方式把对象的信息输出到页面中。 (3)不创建JavaBean----User类。在doForm.jsp页面中用getParameter()来获取客户在form.jsp表单中填写的值,最后输出相关信息。 参考代码: form.jsp: <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <html> <head> <title>My JSP 'forward1.jsp' starting page</title> </head> <body> <form name=form1 method="post" action="doForm.jsp" onSubmit="return checkInput()" > <p>Enter your system</p> <p>Name: <input type="text" name="username" /> <p>Password: <input type="password" name="password" /> <p> <input type="submit" name="login" value="Login"/> </form> </body> <script language="javascript"> function checkInput() { if(""==document.form1.username.value || ""==document.form1.password.value ){ window.alert("Please input name and password!"); return false; } } </script> </html> doform.jsp <%@ page language="java" import="java.util.*,bean.User" pageEncoding="ISO-8859-1"%> <html> <head> <title>doForm.jsp page</title> </head> <body> <!---The third method --> <%="The output of third method:" %><b
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服