java web编程技术(沈泽刚,清华大学出版社)双星习题部分解答
- 格式:doc
- 大小:376.00 KB
- 文档页数:76
Javaweb练习题1(含答案)Javaweb选择题o 1. 页面中需要增加链接,正确的HTML代码是_A_____。
A. 百度B. 百度C. /doc/eb12351030.html,D. 百度o 2. 以下选项中,哪个全部都是表格标签___ B___。
A.B.C.D.A. 1B. 2C. 3D. 4o 4. window对象中用于显示一个输入对话框的方法是_____C__。
A. alert()B. confirm()C. prompt()D. createPopup()o 5. 下列代码的输出结果是___B__【2.0分】A. 014B. 024C. 025D. 运行错误6. 针对下述JSP页面,在Servlet中需要得到用户选择的爱好的数量,最合适的代码是___C___。
游戏运动棋牌美食A. request.getParameter("aihao").lengthB. request.getParameter("aihao").size()C. request.getParameterValues("aihao").lengthD. request.getParameterValues("aihao").size()o 7. ____C__标签用于定义表格、行和单元格。
A. tbody tr tdB. table row celC. table tr tdD. table th tdo 10. MyEclipse中,常用web项目具体类型为(D)。
【2.0分】A. static web projectB. dynamic web projectC. java projectD. web projecto 11. 如果希望更新数据库表authors中first_name列为非空,可以使用( C )语句。
【2.0分】A. alter table authors add first_name not nullB. alter table authors modify first_name not nullC. alter table authors update first_name not nullD. alter table authors drop first_name not nullo 12. 下列说法错误的是___C___。
Java Web 编程技术沈泽刚秦玉平主编清华大学出版社20103作者E-mail地址:shenzegang@tom。
com shenzegang@126。
com电话:130********单位:渤海大学信息科学与工程学院感谢您使用本书,下面是书中全部程序代码.如有任何问题,希望联系作者。
程序1。
1 index。
html<!DOCTYPE html PUBLIC "—//W3C//DTD XHTML 1.0 Stri ct//EN”"http://w3。
org/TR/xhtml1/DTD/xhtml1-strict。
dtd">〈html〉〈head>〈meta http—equiv=”content-type" content="text/html;charset=gb2312" /〉<meta http-equiv="content—language" content=”zh—cn" />〈title>New Century Web Bookstore〈/title></head><bod y bgcolor="#ffffff”>〈table align=”center" border=”0" cellpadding=”0” cellspacing=”0" width="540”〉<tr>〈td align=”center" width=”20%”><img src=”images/duke.gif" align="right” alt="Here is a logo.”>〈/td> <td width=”80%”〉<p align=”center"〉〈font size="+2”color="red”〉新世纪〈/font〉<font size=”+2" color="purple">网上书店〈/font></p></td〉</tr〉〈tr><td width="20%">〈br><p align=”center"〉〈b>图书分类</b></p〉<ul〉<li><a href=”book。
第4章Java Web编程习题解析4.1 第1章习题解析1. 略。
2. 答:URL称为统一资源定位符,URL通常由4部分组成:协议名称、页面所在主机的DNS名、可选的端口号和资源的名称。
URI称为统一资源标识符,是以特定语法标识一个资源的字符串。
URI由模式和模式特有的部分组成,它们之间用冒号隔开,一般格式如下:schema:schema-specific-partURI是URL和URN的超集。
3. 答:①是URL,①和②都是URI,③是URN4. 答:动态Web文档技术包括服务器端动态文档技术和客户端动态文档技术,前者包括CGI技术、服务器扩展技术和HTML页面中嵌入脚本技术。
其中HTML页面中嵌入脚本技术包括ASP、PHP和JSP技术。
最流行的客户端动态文档技术是在HTML页面中嵌入JavaScript脚本代码。
使用JavaScript可以设计交互式页面。
与服务器端动态文档不同,JavaScript脚本是在客户端执行的。
5. 答:Servlet是用Servlet API开发的Java程序,它运行在Servlet容器中。
Servlet容器是运行Servlet的软件,主要用来扩展Web服务器的功能。
6. 答:开发Servlet的一般步骤包括:(1)编写Servlet源程序;(2)编译;(3)将Servlet部署到Servlet容器中;(4)访问执行Servlet。
7. 答:<tomcat-install>\lib\servlet-api.jar文件。
8. 答:部署描述文件名是web.xml,它是XML文件,应该存放在Web应用程序的\WEB-INF目录中。
9. 答:当服务器找不到用户请求的资源时将发生404错误。
10. 答:JSP页面是嵌入了Java脚本元素的HTML页面。
11. 答:Servlet主要用来实现业务逻辑和控制逻辑,JSP页面主要用来实现表示逻辑。
Java Web 编程习题解析第4章 4.2 第2章习题解析1. 答:Servlet 接口定义了下面5个方法:public void init(ServletConfig config)public void service(ServletRequest request, ServletResponse response) throws ServletException, IOExceptionpublic void destroy()public ServletConfig getServletConfig()public String getServletInfo()2. 答:Servlet 是在容器中运行的组件,有一个从创建到销毁的过程,其中包括加载和实例化、初始化、提供服务以及销毁几个阶段。
Java 核心技术习题答案马志强张然李雷孝编清华大学出版社目录第一章Java 语言概述 (3)第二章 Java 语法基础 (4)第三章面向对象编程 (15)第四章数组 (38)第五章高级类特性 (45)第六章 GUI 编程 (51)第七章集合框架 (62)第九章集合框架 (77)第十章 IO 流 (81)第十一章 JDBC 访问数据库 (84)第十二章线程 (85)第十三章网络编程 (90)第一章 Java 语言概述一、选择题1-5 ABBBB6-8 AAB二、填空题1.MyClass MyClass.class2.String 数组(String[])一3.javac A.java java A三、程序设计题1、搭建Java 运行环境,并写一个Java 程序打印输出“开始学习Java 程序设计!”。
1)首先安装JDK;2)配置环境变量path,classpath 可配可不配;3)FirstJava.javapublic class HelloWorld{public static void main(String[]args){ System.out.println("开始学习Java 程序设计!");}}2、修改下面四个Java 源文件中的错误,使其能够编译和运行。
Test1.java:TestAnother1 类不能再使用public 修饰,一个源文件中只能有一个类或者接口用public 修饰;Test2.java:源文件中public 修饰的类的名字为Testing2,和源文件名字不一致;Test3.java:Test3 类的main 方法的形参类型为String[];Test4.java:Test4 类的main 方法必须使用static 关键字修饰。
第二章 Java 语法基础一、选择题1-5 BCADB6-9 DCCC二、填空题1. abc ,a1,_abc,_1a,ab123 #a,const,$abc,1abc,if,$#1sa,$_a,_$q12.题目出现问题:代码修改为ch = (char) (ch+1);结果为’B’;如果直接System.out.println(ch+1);结果为98。
JavaWeb--课后练习答案第1章1.B/S结构的Web应用程序的运行过程是:首先,用户通过客户端浏览器向服务器端发送请求;服务器接收到请求后,需要对用户发送过来的数据进行业务逻辑处理,多数还伴随对数据库的存取操作;最后,服务器将处理结果返回给客户端浏览器。
2.bin:包含启动和终止Tomcat服务器的脚本,如:startup.bat、shutdown.bat;lib:包含服务器和Web应用程序使用的类库,如:servlet-api.jar、jsp-api.jar;webapps:Web应用的发布目录,服务器可对此目录下的应用程序自动加载;3. D4. C5. C6. C第2章1. B2. D3. CBA4. D5. D6. A7. BE8. D第3章1. ABD2. C3. C4. ACDE5. C6. A7. D第4章1. ABD2. D3. AB4. ABCD5. B6. BD7. A第5章1. D2. C3. C4. C5. A6. D7. A8. D第6章1. C2. B3. B4. C5. D6. D7. B8. D9. A第7章1. D2. A3. A4. D5. A6. C7. BC8. A第8章1. B2. B3. B4. A5. A6. C7. C第9章1. BC2. B3. AB4. C5. B6. B第10章1. B2. C3. C4. A5. B6.B7.过滤器(Filter)主要用来完成Web应用中一些通用的操作。
过滤器能够在Servlet程序(JSP页面、Servlet、HTML等)被调用之前检查request对象,修改请求头或请求内容,在Servlet程序被调用之后,检查response对象,修改响应头和相应内容;监听器,又叫做Listener,通过它可以监听Web应用的上下文(环境)信息、Servlet请求信息,Servlet会话信息,并自动根据不同监听事件,在后台调用相应的处理程序。
1_3public class chap1_3{public static void main(String[] args){System.out.println(" ] A V V A");System.out.println(" ] A A V V A A");System.out.println("] ] AAAAA V V AAAAA");System.out.println(" ] ] A A V A A");}}2_6import java.util.Scanner;/** (求一个整数各位数的和)编写程序,读取一个在0和1000之间的整数,并将该整数的各位数字相加。
*/public class chap2_6 {public static void main(String[] args){//初始化,数据准备int inputNum;//用户输入的整数int sum;//整数的各位数字和//输入,读取一个整数inputNum = getInput();//运算,整数的各位数字相加sum = getResult(inputNum);//输出,整数的各位数字和showResult(inputNum,sum);}static int getInput(){int num=0;Scanner sc = new Scanner(System.in);boolean isValidNum = false;while (!isValidNum){System.out.println("请输入一个在0和1000之间的整型数:");num = sc.nextInt();if (num > 0 && num < 1000){isValidNum = true;}else {System.out.println("您输入的数字不合法!");}}return num;}static int getResult(int Num){int result = 0;int temp = Num;//方便计算的临时变量while (temp>0){result += temp % 10;//余数就是末位数字temp = temp / 10;//去掉末位数字}return result;}static void showResult(int num,int result){System.out.println("num="+num);System.out.println("result="+result);}}2_15import java.util.Scanner;/** (财务应用程序:复利值)假设你每月向银行账户存100元,年利率为5%,那么每月利率是0.05/12=0.00417* 第一个月之后,账户上的值就变成:100*(1+0.00417)= 100.417* 第二个月之后,账户上的值就变成(100+100.417)*(1+0.00417)= 201.252* 第三个月之后,账户上的值就变成(100+201.252)*(1+0.00417)= 302.507* 以此类推* 编写程序显示任意一个月后账户上的钱数。
*/public class chap2_15 {public static void main(String[] args){//初始化double principal = 0.0; //本金double annual_interest_rate = 0.0; //年利率double amount_of_account = 0.0; //账户金额int month;//月数//输入本金principal = inputPrincipal();//输入年利率annual_interest_rate = inputInterestRate();//输入月数month = inputMonth();//计算账户上的钱数amount_of_account = calculateAccount(principal,annual_interest_rate,month);//输出账户上的钱数outputAccount(principal,annual_interest_rate,month,amount_of_account);}public static double inputPrincipal(){double principal;Scanner sc = new Scanner(System.in);System.out.println("请输入本金:");principal = sc.nextDouble();return principal;}public static double inputInterestRate(){double interestRate;Scanner sc = new Scanner(System.in);System.out.println("请输入年利率:");interestRate = sc.nextDouble();return interestRate;}public static int inputMonth(){int month;Scanner sc = new Scanner(System.in);System.out.println("请输入月数:");month = sc.nextInt();return month;}//计算账户金额,p代表本金,air代表年利率,m代表月数public static double calculateAccount(double p,double air, int m){double mir;//代表月利率double accountResult = 0.0;//代表最后计算出的账户金额double currentAmout = p;//代表当前进行复利运算的金额mir = (air /100)/ 12;for (int i = 0 ; i < m ; i ++){accountResult = currentAmout * (1 + mir);currentAmout = accountResult + p;}return accountResult;}//输出账户金额,p代表本金,air代表年利率,m代表月数,aa代表计算出的账户金额public static void outputAccount(double p,double air, int m, double aa){System.out.println("您的本金是" + p + "元;年利率是" + air + "%;" +m + "个月后您的账户金额为" + aa + "元");}}3_21/**编写程序,提示用户输入年、月和该月的哪一天,然后显示它是一周中的星期几。
h =(q+[26(m+1)/10]+k+[k/4]+[j/4]+5*j)%71、h是一个星期中的每一天(0为星期六;1为星期天;2为星期一;3为星期二;4为星期三;5为星期四;6为星期五)2、q是某月的某一天3、m是月份(3为三月,4为四月,...,12为十二月)。
一月和二月分别记为上一年的13和14月。
4、j是世纪数(即|year/100|)5、k是世纪的年数(即year%100)。
*/import java.util.Scanner;public class chap3_21{public static void main(String[] args){int year,month,day;//分别代表用户输入的年月日String dayOfWeek;//代表星期几year = InputYear();month = InputMonth();day = InputDay();dayOfWeek = GetDayOfWeek(year,month,day);ShowDayOfWeek(year,month,day,dayOfWeek);}private static int InputYear(){int year;Scanner sc = new Scanner(System.in);System.out.println("请输入年份:(如:2008):");year = sc.nextInt();return year;}private static int InputMonth(){int month;Scanner sc = new Scanner(System.in);System.out.println("请输入月份:1-12:");month = sc.nextInt();return month;}private static int InputDay(){int day;Scanner sc = new Scanner(System.in);System.out.println("请输入天数:1-31:");day = sc.nextInt();return day;}private static String GetDayOfWeek(int y,int m,int d){ int h;h = CalculateH(y,m,d);String dayOfWeek;switch (h){case 0: dayOfWeek = "星期六";break;case 1: dayOfWeek = "星期日";break;case 2: dayOfWeek = "星期一";break;case 3: dayOfWeek = "星期二";break;case 4: dayOfWeek = "星期三";break;case 5: dayOfWeek = "星期四";break;case 6: dayOfWeek = "星期五";break;default: dayOfWeek = "星期计算错误";break;}return dayOfWeek;}private static int CalculateH(int year,int month,int day){int h,q,m,j,k;q = day;if (1 == month){m = 13;k = year % 100 -1;}else if (2 == month){m = 14;k = year % 100 -1;}else{m = month;k = year % 100;}j = Math.abs(year/100);h = (q + (int)(26*(m + 1)/10) + k + (int)(k/4) + (int)(j/4) + 5 * j) % 7;return h;}private static void ShowDayOfWeek(int year,int month,int day, String dayOfWeek){ System.out.println(year+"-"+month + "-" + day + "是" + dayOfWeek );}}3_24/**(游戏,挑一张牌)编写程序,模拟从一副52张的牌中选择一张牌。