1、Java语言案例开发实验指导书实验学时:24序号实验名称内容要求实验学时每组人数实验属性开出要求1实验一JSP实验环境组建与JSP应用JSP运行原理;JSP开发环境的搭配;创建第1个JSP程序并部署运行。21综合必做2实验二 JSP语法JSP脚本元素;掌握JSP注释方式;掌握JSP指令元素;掌握JSP动作元素的相关知识。21综合必做3实验三JSP内置对象内置对象的概念;请求对象request;响应对象response;会话对象session;多客户端共享对象application;页面对象page和页面上下文对象pageContext; 输出对象out、配置对象config、异常对象excep
2、tion。41综合必做4实验四JavaBean组件技术JavaBean属性、作用域和应用实例分析41综合必做5实验五 Servlet技术获取运行环境信息的方法;Servlet会话设置和异常设置;Servlet过滤器和监听器的工作原理;Servlet过滤器和监听器的具体应用。61综合必做6实验六JDBC技术JDBC执行步骤;JDBC的常用接口及使用方法;如何应用JDBC事务;如何利用数据库连接池技术访问数据库。61综合必做实验一 JSP实验环境组建与JSP应用(2学时)一、实验目的(1)通过运行程序,了解JSP的运行原理;(2)掌握JSP开发环境的配置和部署;(3)部署运行JSP程序。二、实验内
3、容1.开发环境搭建Step1:安装和设置JDK以jdk1.6为例,安装位置C:Program FilesJavajdk1.6.0_12创建环境变量:JAVA_HOME为C:Program FilesJavajdk1.6.0_12在建环境变量PATH中添加:%JAVA_HOME%bin;创建环境变量CLASSPATH:%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;Step2:安装支持JSP的Web服务器以Tomcat6.0.29为例,安装位置d:Tomcat6Step3:安装MyEclipse安装MyEclipse9Step4:设置Tomcat,可以从
4、MyEclipse中直接启动Tomcat6操作步骤:WindowPreferencesMyEclipse Enterprise Workbench MyEclipseServersTomcatTomcat6.x l Tomcat Server选择Enablel Tomcat home directory:d:tomcat6l 设置Tomcat运行使用的JDK:展开Tomcat6.x,单击JDK,单击tomcat JDK name:后的Add,在打开的页面中,单击JRE home后的Directory按钮,选择输入C:Program FilesJavajdk1.6.0_122.开发和运行JSP程
5、序n 创建Web项目FileNewWeb Project(如:Myjsp)n 新建JSP文件(如firstJsp.jsp)n 编辑JSP文件n 发布项目到Tomcat右击项目名称MyjspMyEclipseAdd and Remove Project DeploymentsProject:选择Myjsp项目,并单击Add,弹出Project Deployments对话框,在对话框中,选择server为Tomcat 6.x,并单击Finishn 运行测试n 启动Tomcat 6.xn 运行JSP文件浏览器中输入:http:/localhost:8080/Myjsp/firstJsp.jsp3.练
6、习(1)编写一个JSP程序,在页面中输入系统时间,要求:输入的系统时间时判断当前时间是“上午”、“中午”还是“下午”,并给出友好的提示信息。例如,当前系统时间是上午,在页面输出“早上好,新的一天即将开始,你准备好了吗?”;当前系统时间是中午,在页面输出“午休时间,正午好时光!”;当前系统时间是下午,在页面中输出“下午继续努力工作吧”。参考代码: output the system time! =1 & h=13 & h (2)编写一个电子商城的用户注册页面,要求该主页面中包含用户设置的用户名、密码、真实姓名、性别、年龄等表单,并使用Javascript编写函数,当用户点击“提交”按钮时,会检查
7、用户名、密码、真实姓名等项是否为空。三、复习和预习内容眼过千遍不如手动一遍,所以一定要多动手写程序,才可能真正的理解程序的逻辑和内涵。复习JSP程序的结构、部署和运行过程;预习JSP语法的相关内容。希望大家能在实验中多思考,多给自己提问题,多设想几种可能。做实验时不要满足于验证书本知识。在以后的实验中,请读者自己设计具体的实验步骤,尽可能自己补充增加一些内容,以提高自己的实践能力。实验二 JSP语法(2学时)一、实验目的(1)掌握JSP文件的组成、指令元素、动作元素等的使用。(2)在实际应用中,灵活使用JSP中的各种元素。二、实验内容1、编写两个JSP页面,分别为inputName.jsp和p
8、eople.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作自增运算。该页面在程序片中获取inputNa
9、me.jsp页面提交的姓名,然后调用judge()创建person对象、调用addPerson方法将用户的姓名添加到成员变量person末尾。如果inputName.jsp页面没有提交姓名,或姓名含有的字符个数大于10,就使用标记将用户转到inputName.jsp页面。通过Java表达式输出person和count的值。图3-1 输入姓名 inputName.jsp图3-2 显示姓名和人数 people.jsp(3)参考代码inputName.jsp 请输入姓名: people.jsp 10) % 目前共有人浏览了该页面,他们的名字是: 2、JSP指令标记(选做)编写三个JSP 页面:fir
10、st.jsp 、second.jsp和third.jsp。另外,要求用“记事本”编写一个TXT文件hello.txt。hello.txt的每行有若干个英文单词,单词之间用空格分隔,每行之间用“”分隔,如下所示:hello.txtpackage apple void back publicprivate throw class hello welcome(1)first.jsp: 使用page指令设置contentType属性的值是text/plain,使用include指令静态插入hello.txt文件。(2)second.jsp: 使用page指令设置contentType属性的值是appl
11、ication/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
12、second.jsp third.jsp 3、JSP动作标记(选做)编写四个JSP 页面:one.jsp 、two.jsp、three.jsp和error.jsp。one.jsp 、two.jsp和three.jsp页面都含有一个导航条,以便让用户方便地单击超链接访问这三个页面,要求这三个页面通过使用include动作标记动态加载导航条文件head.txt。head.txt one.jsp页面 two.jsp页面 three.jsp页面 (1)one.jsp: 有一个表单,用户使用该表单可以输入一个1100之间的整数,并提交给该页面;如果输入的整数在50100之间(不包括50)就转向three
13、.jsp,如果在150之间就转向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 得到par
14、am子标记传递来的值 two.jsp图3-8 得到param子标记传递来的值 three.jsperror.jsp(效果如图1-9所示)图3-9 显示错误信息(3) 参考代码one.jsp 请输入1至100之间的整数: =1&n jsp:param name=number value= / 50&n jsp:param name=number value= / jsp:param name=mess value= / two.jsp This is two.jsp. % String s=request.getParameter(number); out.println(传递过来的值是+s);
15、 % img src=a.jpg width= height= three.jsp This is three.jsp. % String s=request.getParameter(number); out.println(传递过来的值是+s); % img src=b.jpg width= height= error.jsp This is error.jsp. % String s=request.getParameter(mess); out.println(传递过来的错误信息+s); % 三、复习和预习内容眼过千遍不如手动一遍,所以一定要多动手写程序,才可能真正的理解程序的逻辑和内
16、涵。复习JSP语法;预习JSP内置对象的相关内容。希望大家能在实验中多思考,多给自己提问题,多设想几种可能。做实验时不要满足于验证书本知识。在以后的实验中,请读者自己设计具体的实验步骤,尽可能自己补充增加一些内容,以提高自己的实践能力。实验三 JSP内置对象(4学时)一、实验目的(1)掌握内置对象request、response、session、application、out和exception等的含义、用法和作用域范围。(2)在实际应用中,根据不同的需求使用JSP不同作用域范围的内置对象。二、实验内容1、对实验二的内容进行扩展,必须实现以下4个jsp文件,采用jsp+JavaBean实现。(
17、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
18、保存图4-3参考代码:login.jsp: 用户名:口 令:doLogin.jsp: messageBoard.jsp发言标题:发言内容:showMessage.jsp:显示留言信息留言者:2、实现不同作用范围内的网页计数器,并查看其区别所在。(request,session,application)3、在工程中增加一个页面,在页面中实现加减乘除的运算页面,并实现运算结果的计算显示功能。(选做)关键代码:计算测试 运算数1: 运算数2: % double num1=0.0; double num2=0.0; double result=0.0; if(request.getParameter(
19、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(-)
20、result=num1-num2; if(operation.trim().equals(*) result=num1*num2; if(operation.trim().equals(/) result=num1/num2; out.write(+num1+operation+num2+=+result+); %三、复习和预习内容眼过千遍不如手动一遍,所以一定要多动手写程序,才可能真正的理解程序的逻辑和内涵。复习JSP内置对象;预习JavaBean组件的相关内容。希望大家能在实验中多思考,多给自己提问题,多设想几种可能。做实验时不要满足于验证书本知识。在以后的实验中,请读者自己设计具体的实验
21、步骤,尽可能自己补充增加一些内容,以提高自己的实践能力。实验四 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方法。
22、在doForm.jsp页面中用动作标识实例化User类对象,再使用动作标识来把客户在form.jsp表单中填写的值赋给对象,最后用在页面输出结果。(2)创建一个JavaBean-User类,该类含有两个属性username和password,给每个属性增加相应的get和set方法。在doForm.jsp页面中采用Java以jsp脚本代码(scriptlet)方式实例化User类对象,用setAttribute()函数把对象写入request或session中,再使用动作标识来把客户在form.jsp表单中填写的值赋给对象,最后用jsp表达式的方式把对象的信息输出到页面中。(3)不创建JavaB
23、ean-User类。在doForm.jsp页面中用getParameter()来获取客户在form.jsp表单中填写的值,最后输出相关信息。参考代码:form.jsp: My JSP forward1.jsp starting page Enter your systemName: Password: function checkInput() if(=document.form1.username.value | =document.form1.password.value ) window.alert(Please input name and password!); return false; doform.jsp doForm.jsp page b