




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java Web基础实 验 手 册实验一:Java语言基础练习8,31软件基础实验室一目的要求1、 掌握Java语言的字符集、关键字、标识符的相关概念及语法要求。2、 掌握Java基本数据类型、运算符及表达式的相关概念及语法要求。3、 掌握Java语言的控制结构,并能灵活运用。重点技能1、 熟练运用Java语言的标准输出(System.out.println())和标准输入(System.in.read())。2、 熟练运用字节数组的创建,以及将字节数组转化为字符串的方法。3、 熟练运用判断字符串是否相等、字符串的去掉首、尾空格的方法。4、 熟练运用if语句、while语句构造选择结构、循环结构。5、 初步掌握异常处理结构的使用。实验内容1、 用Eclipse创建Java项目,在项目中创建Java包和java类。2、 参照教材例题,练习Java语言的基本语法。3、 用Java语言编写一个简单的智能人机对话程序,参照代码如下import java.io.IOException;public class Main public static void main(String args) byte yourinput = new byte1024;String yourinputString = null;System.out.println(开始对话:);doSystem.out.print(你说:);trySystem.in.read(yourinput);yourinputString = new String(yourinput,gb2312);yourinputString = yourinputString.trim();catch(IOException e)System.out.print(e.getMessage();if(yourinputString = null)continue;if(yourinputString.equals(再见)System.out.print(计算机说:再见!);break;if(yourinputString.equals(你好!)System.out.print(计算机说:你好!);continue;if(yourinputString.equals(你在做什么?)System.out.print(计算机说:我在与你聊天啊!);continue; System.out.print(计算机说:我不明白你说的什么意思。);while(true);思考问题1、 简单的智能人机对话程序中为什么要定义字节数组。答:java中IO输入设备输入到计算机中时数据只能存储在字节数组中。2、 简单的智能人机对话程序中,为什么要做:yourinputString = yourinputString.trim();答:删除字符串首部和尾部的空格。3、 为什么System.out.println()不用放入try结构,而System.in.read()一定要放入try结构。4、 简单的智能人机对话程序中,有下列代码:if(yourinputString.equals(你好!)System.out.print(计算机说:你好!);continue;if(yourinputString.equals(你在做什么?)System.out.print(计算机说:我在与你聊天啊!);continue; System.out.print(计算机说:我不明白你说的什么意思。);它们可以简单的改为switch结构吗?答:不能。因为switch中参数只能是一个字符,而这里的参数并不只一个字符。实验二:面向对象的编程9,7目的要求1、 掌握编程的基本概念和特征,理解和体验编程的基本思想。2、 理解类的构成,掌握类定义的语法要求。3、 理解对象与类的关系,掌握创建对象和使用对象的方法。重点技能1、 熟练运用字符串分隔方法(split(String regex))的使用。2、 熟练运用字符串的contains()方法,判断字符串是否包含有某个字串。3、 熟练运用switch case构造选择结构。4、 理解静态方法的使用。5、 加深对异常处理的理解。6、 初步了解正则表达式的运用。实验内容1、 参照教材例题,练习Java语言中有关类的定义、对象创建与使用的语法。2、 用Java语言编写一个简单的四则运算计算机器程序,要尽量使用OO思想。参照代码如下:(1) 编写计算机器类,参照代码如下:public class Calculator private int firstOperand;private int secondOperand;private char operator;public void setFirstOperand(int operand)this.firstOperand = operand;public void setSecondOperand(int operand)this.secondOperand = operand;public void setOperator(char operator)this.operator = operator;public int getOperationalResult()int result = 0;switch(operator)case +: result = firstOperand + secondOperand;break; case -: result = firstOperand - secondOperand;break; case *: result = firstOperand * secondOperand;break;case /: result = firstOperand / secondOperand;break; return result;(2) 测试计算机器类,编写一个带主方法的主动类,对Calculator进行测试。测试加法运算的参照代码如下:public class Main public static void main(String args) int x = 10;int y = 20;int z;Calculator calculator = new Calculator();calculator.setFirstOperand(x);calculator.setSecondOperand(y);calculator.setOperator(+);z = calculator.getOperationalResult();System.out.println(x + + + y + = + z);u 改变x、y值,看结果的正确性。u 参照如上代码,编写其它三种运算的测试类。(3) 运用Calculator类,编写一个完善的四则运算计算机器程序。可以编写一个工具类,提供从表达式中提取运算数和运算符的方法,带主方法的主动类提出输入输出:工具类参照代码:public class Service public static int getOperandsFromExpression(String expression)int operands = new int2;String operandsStr = expression.split(+-*/1);if(operandsStr.length != 2)return null;elsetryoperands0 = Integer.parseInt(operandsStr0.trim();operands1 = Integer.parseInt(operandsStr1.trim();return operands;catch(NumberFormatException e)return null;public static char getOperatorFromExpression(String expression)char operator = ?;if(expression.contains(+)operator = +;if(expression.contains(-)operator = -;if(expression.contains(*)operator = *;if(expression.contains(/)operator = /;return operator;带主方法的主动类参照代码:import java.io.IOException;public class Main public static void main(String args) byte expressionByteArray = new byte1024;String expression = null;int operands;char operator;int result;System.out.println(欢迎使用简单计算器程序!);doSystem.out.print(请你输入一个简单表达式:);trySystem.in.read(expressionByteArray);expression = new String(expressionByteArray);expression = expression.trim();if(expression.equals(end)break;operands = Service.getOperandsFromExpression(expression); if(operands = null) System.out.println(n输入的表达式有错误!); continue; operator = Service.getOperatorFromExpression(expression); if(operator = ?) System.out.println(n输入的运算符不对!); continue; if(operator = / & operands1 = 0)System.out.println(n除数不能为零!);continue;Calculator calculator = new Calculator();calculator.setFirstOperand(operands0);calculator.setSecondOperand(operands1);calculator.setOperator(operator);result = calculator.getOperationalResult();System.out.println( = + result);catch(IOException e)System.out.println(n键盘读入出现异常!);continue;while(true);System.out.println(谢谢使用简单计算器程序,再见!); 思考问题1、 正则表达式+-*/1的含义是什么?为什么不能写为+-*/1答:匹配+、-、*、/中任意一个字符,而+、-、*在java中是运算符,必须用转义字符转义。2、 简述字符串的split()方法的功能和使用方法。答:将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 string.split(separator,limit) 参数 string 必选项为要被分解的 String 对象或文字,该对象不会被 split 方法修改。 separator 可选项:字符串或 正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。 limit 可选项。该值用来限制返回数组中的元素个数。说明 split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator 不作为任何数组元素的部分返回。3、 简述字符串的contains()方法的功能和使用方法。答:匹配字符串中是否含有contains()方法中的参数字符或字符串。Contains(“参数”),其中参数为要匹配的字符或字符串。4、 总结构造switch case选择结构的语法要求,为什么把operator定义成char型,而不是定义成String型。答:因为switch case中参数只能接收一个字符。5、 简述将字符串转化为字符的方法,为什么要将字符串转化为字符的方法放到try结构中。答:变量=Char.parseChar(参数);但因为此方法类型转换方法所以会产生异常,故须放在try中。6、 OO的基本思想是什么?分析简单的四则运算计算机器程序是如何实现OO思想的?其中的三个类是如何分工的?。 答:面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。在计算机器程序中描述了操作数1和操作数2和结果间的关系。Calculator类负责计算所接收到的两个操作数,service类负责将用户输入的字符数组转化为字符串再转化为整数,main方法接收用户输入的数据,并判断是否符合运算要求。实验三:接口与多态目的要求1、 掌握接口的定义方法和实现方法。2、 理解多态的概念和应用。重点技能1、 掌握接口的定义方法和实现方法。2、 初步掌握多态的应用。实验内容 编写一个动物程序,可以动态生成小狗和小猫,小狗和小猫都可自我介绍,并发出叫声。1、 编写IAnimal接口,参考代码如下:public interface IAnimal public void saySelf();public void cry();2、 编写Dog类,实现IAnimal接口,参考代码如下:public class Dog implements IAnimalprivate String name;private String color;public Dog(String name,String color) = name;this.color = color;public void saySelf()System.out.println(我是一个 +color + 色的小狗,我的名字叫 + name + 。);public void cry()System.out.println(旺旺);3、 编写Cat类,实现IAnimal接口,参考代码如下:public class Cat implements IAnimal private String name;private String color;public Cat(String name,String color) = name;this.color = color;public void saySelf()System.out.println(我是一个 +color + 色的小猫,我的名字叫 + name + 。);public void cry()System.out.println(喵喵);4、 编写动物工厂,生产小狗或小猫。参考代码如下:public class AnmalFactory public static IAnimal getAnmal(String type,String name,String color)IAnimal animal = null;if(type.equals(dog)animal = new Dog(name,color);if(type.equals(cat)animal = new Cat(name,color);return animal;5、 编写主类,提供用户界面。参考代码如下:public class Main /* * param args */public static void main(String args) / TODO Auto-generated method stubSystem.out.println(请输入动物的类别:);byte typeByteArray = new byte100;trySystem.in.read(typeByteArray);catch(Exception ex)System.out.println(ex.getMessage();String typeString = new String(typeByteArray);typeString = typeString.trim();System.out.println(请输入动物的名字:);byte nameByteArray = new byte100;trySystem.in.read(nameByteArray);catch(Exception ex)System.out.println(ex.getMessage();String nameString = new String(nameByteArray);nameString = nameString.trim();System.out.println(请输入动物的颜色:);byte colorByteArray = new byte100;trySystem.in.read(colorByteArray);catch(Exception ex)System.out.println(ex.getMessage();String colorString = new String(colorByteArray);colorString = colorString.trim();IAnimal animal = AnmalFactory.getAnmal(typeString, nameString, colorString);if(animal != null)animal.saySelf();animal.cry();elseSystem.out.println(没有动物生成!); 思考问题1、 接口的作用是什么?如何定义?如何实现?。答:接口实际上相当于一个父类,实现了一个接口就证明这个类肯定会有某些行为。这样我只要知道这个类实现了某个接口,却不用关心这个类如何实现,也不用关心这个类还实现了其他什么功能。public interface I method1(); class A implements I method1() somefunction. 2、 什么是多态,本例中是如何实现多态的。答:意味着一个对象有着多重特征,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。实验四:ServLet技术初步目的要求1、 了解Tomcat的体系结构,掌握Tomcat安装、启动与关闭,初步了解在Tomcat上发布项目的基本方法。2、 掌握运用MyEclipse创建Web项目的方法,了解MyEclipse中Web项目的构成。在MyEclipse能正确配置、使用Tomcat。3、 理解Servlet的基本原理和机制,掌握编写Servlet的基本方法。重点技能1、 Tomcat安装、启动与关闭,Tomcat上发布项目的基本方法。2、 MyEclipse创建Web项目,配置、使用Tomcat。3、 简单Servlet的编写。实验内容1、 安装Tomcat、使用Tomcat。2、 用MyEclipse创建Web项目,配置MyEclipse的Tomcat。3、 编写简单的Servlet应用。实验步骤1、 安装Tomcat、使用Tomcat(1) 下载Tomcat 6.x,并安装(建议课下完成)(2) 启动Tomcat 6.x,通过浏览器访问Tomcat帮助页面(HTTP:/localhost:8080/),确认Tomcat安装的正确性。(3) 制作一个简单的网页,在Tomcat上发布,并用浏览器访问(HTTP:/localhost:8080/XX/XX.html),2、 用MyEclipse创建Web项目,配置Tomcat(1) 设置工作空间,启动MyEclipse。(2) 创建Web项目:FileNewWeb Project:Project NameJ2EEfinish (3) 通过包浏览器,查看Web项目的基本目录构成。(4) 配置Tomcat:WindowsPreferences(5) HelloWorld,简单体验Servlet。u 在项目的src目录下创建myservlet包,在此包下创建名为HelloWorldServlet的Servlet文件。参考代码见教材27页。u 配置HelloWorldServlet:WebRoot/WEB-INF下的web.xml配置HelloWorldServlet,参考内容见教材的33页。u 在MyEclipse中启动Tomcat,发布HelloWorld项目u 启动浏览器,访问HelloWorldServlet(如果你的项目名称为HelloWorld),并按教材的33页进行配置,则访问的URL为:HTTP:/localhost:8080/HelloWorld/HelloWorld思考问题1、 Tomcat安装完成后,安装目录下有哪些目录?启动Tomcat的程序在哪个目录下?有一个server.xml文件在哪个目录下。要发布的项目放到哪个目录下。答:bin,conf,lib,logs,temp,webapps,work;其中启动Tomcat的程序在bin目录下。Server.xml在Tomcat 6.0webappsROOTWEB-INF下。要发布的项目放在webapps下。2、 简述MyEclipsek中Web项目的构成,页面文件放到什么地方?Servlet及其它Java文件放到什么地方?3、 如何访问Servlet。实验五:基于HttpServlet的Servlet编程目的要求1、 理解Servlet生命周期和上下文,初步掌握ServletContext的应用。2、 全面理解HttpServlet抽象类,掌握HttpServlet抽象类的构成和运行原理。3、 掌握doGet、doPost的基本编程方法。4、 初步掌握HttpServletRequest、HttpServletResponse对象的使用方法。重点技能1、 基于HttpServlet抽象类编写Servlet2、 doGet、doPost方法编程基本方法。实验内容1、 WelcomeServlet实例:编写一个HTML页面,如下图所示单击“提交按钮”提交到到WelcomeServlet,WelcomeServlet处理并返回如下页面:2、 LoginServlet实例。编写一个简单的登录页面。登录请示LoginServlet,LoginServlet处理判断用户名和密码的正确性,并返回登录成功或失败的页面。实验步骤1、 WelcomeServlet实例(1) 创建Java Web项目(2) 编写welcome.html页面文件,参见教材40页例2-3(3) 编写WelcomeServlet类,参见教材41页例2-4。(4) 修改web.xml文件。(5) 布署发布。(6) 访问。2、 LoginServlet实例。(1) 创建Java Web项目(2) 编写login.html(3) 编写LoginServlet类(4) 布署发布(5) 访问。思考问题1、 简述Servlet请求访问的过程(生命周期)。2、 在Servlet请求过程中,产生哪些对象,都是做什么用的,是由谁创建的。3、 某Servlet请求URL是通过谁定义的,怎么定义的。实验六:MySQL数据库的基本操作目的要求1、 掌握MySQL数据库的下载、安装。2、 掌握MySQL数据库服务的启动与关闭。3、 掌握命令行工具创建、查看数据库的基本方法。4、 掌握命令行工具创建、查看数据库中表的基本方法。5、 掌握数据表中数据的CRUD的基本方法。重点技能1、 MySQL数据库的下载、安装。2、 MySQL数据库服务的启动与关闭。3、 命令行工具创建、查看数据库。4、 命令行工具创建、查看数据库中表。5、 数据表中数据的CRUD。实验内容1、 下载、安装MySQL.2、 通过Windows的服务管理,启动、关闭MySQL服务。3、 设计一个简单的学生管理数据库,通过MySQL自带的命令行工具实现这个数据库。实验步骤1、 下载、安装MySQL2、 启动、关闭MySQL服务练习3、 设计简单的学生管理数据库。4、 通过MySQL自带的命令行工具实现这个数据库思考问题1、 通过网络查阅,总结MySQL的特点。2、 总结MySQL安装过程。3、 总结MySQL数据库操作的基本命令(库的操作、表的操作、表中数据的操作。附录:用命令行客户端工具使用MySQL的使用方法用命令行客户端工具使用MySQL的使用方法一、连接与断开服务器u 开启命令行客户端工具u 输入密码,登录SQL服务器Enter password: *Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 25338 to server version: 5.1.2-alpha-standardType help; or h for help. Type c to clear the buffer.mysqlu 断开服务器mysql QUITBye二、查看服务器上已有的数据库mysql SHOW DATABASES;+-+| Database |+-+| mysql | test | tmp |+-+三、创建、打开数据库mysql CREATE DATABASE 库名;mysql USE库名;四、创建数据库中的表,查看数据库中的表mysql CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), - species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);五、查看表结构mysql DESCRIBE 表名;六、表中数据的增、删、改、查(crud)C: INSERTR: SELECTU: UPDATED: DELETEmysql INSERT student(name,age)values(“qqq”,20)mysql SELECT * from student;mysql UPDATE student SET age=18 WHERE name=”qqq”;mysql DELETE FROM student WHERE name=”qqq”;实验七
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保洁消毒服务方案范本
- Unit5 On the Road Developing ideas Writing 教学设计-2024-2025学年高中英语外研版(2019)必修第二册
- 2025年初级项目经理能力评估试题集
- 新疆昌吉回族自治州2025年-2026年小学六年级数学阶段练习(上学期)试卷及答案
- 课题2 土壤中分解尿素的细菌的分离与计数教学设计-2025-2026学年高中生物学选修1《生物技术实践》人教版
- 陕西国标铸铁管施工方案
- 2025年会计师高级实务操作模拟题及答案详解
- 第19课 俄国十月革命的胜利教学设计-2025-2026学年高中历史必修1 政治史人教版
- 2024-2025学年高中物理 第1章 3 运动快慢与方向的描述-速度说课稿 教科版必修1
- 2025年国际贸易公司面试题预测与分析
- 《水力学》课件-第5章 流动阻力和水头损失
- 通信网络智能体白皮书
- 律师从事政府法律顾问业务操作建议流程
- 2025年秋期部编版六年级上册小学语文教学计划+教学进度表
- 应用软件创新创业项目商业计划书
- (标准)棋牌室转让合同协议书
- 2025年中国对虾市场深度调查与投资方向研究报告
- 高压防护架搭设方案
- 洗车实习个人总结
- 重庆土地流转管理办法
- 铝格栅墙面安装方案
评论
0/150
提交评论