收藏 分销(赏)

《Java-Web应用开发实用教程》练习答案.doc

上传人:仙人****88 文档编号:9072472 上传时间:2025-03-12 格式:DOC 页数:41 大小:1.09MB
下载 相关 举报
《Java-Web应用开发实用教程》练习答案.doc_第1页
第1页 / 共41页
《Java-Web应用开发实用教程》练习答案.doc_第2页
第2页 / 共41页
点击查看更多>>
资源描述
1.7 习题 1. 单选题 (1) 在HTML中超链接标记为( ) A. <a>和</a> B. <title>和</title> C. <html>和</html> D. <body>和</body> 答案:A (2) 表单中的数据要提交到的处理文件由表单的( )属性指定。 A. method B. name C. action D. 以上都不对 答案:C (3) 当<input>标记的type属性值为( )时,代表一个多选框。 A. text B. radio C. checkbox D. button 答案:C (4) 以下URL中语法不正确的是( ) A. :80/software/home.html B. telnet://:70 C. ftp:// D. 答案:D 2. 上机练习 用记事本或Dreamweaver制作如下几个页面(建议用Dreamweaver制作): link.html:此页面只有一个超级链接,用户单击此链接后将链接到login.html登录页面。 login.html:此页面为用户登录页面,用户可以在此页面输入用户名和密码,然后提交表单。 login_success.jsp:接收用户输入并显示“登录成功!”。三个页面运行后的效果如图1.8所示。 图1.8 练习题页面运行效果 答案: link.html代码如下: <html> <head> <title>HTML练习</title> </head> <body> <a href="login.html">点击这里登录</a> </body> </html> login.html代码如下: <html> <head> <title>登录页面</title> </head> <body> <form action="login_success.jsp" method=”post”> 用户名 <input type="text" name="textfield"> <br> 密&nbsp; 码 <input type="password" name="textfield"> <br> <label> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" name="Submit" value="提交"> </label> <label> &nbsp;&nbsp;&nbsp; <input type="reset" name="Submit2" value="重置"> </label> </form> </body> </html> login_success.jsp代码如下: <%@ page contentType="text/html; charset=gb2312"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head> <body> 登录成功! </body> </html> 2.7 习题 1. 单选题 (1) 要运行JSP程序,下列说法不正确的是( ) A. 服务器端需要安装Servlet容器,如Tomcat等。 B. 客户端需要安装Servlet容器,如Tomcat等。 C. 服务器端需要安装JDK。 D. 客户端需要安装浏览器,如IE等。 答案:B (2) 当发布Web应用程序时,通常把Web应用程序的目录及文件放到Tomcat的( )目录下。 A. work B. temp C. webapps D. conf 答案:C 2. 上机练习 (1)按照本章所介绍的方法,下载和安装JDK和Tomcat,配置Windows操作系统下的Java Web应用开发环境。 l 安装j2sdk,配置系统的环境变量,测试j2sdk安装是否成功。 l 安装并配置Tomcat ,安装完成后发布Tomcat 的默认主页,完成Tomcat 的启动和停止操作。 l 创建一个虚拟发布目录,将例helloapp.jsp存入虚拟目录发布。 (2)练习建立MyEclipse Web Project,并在其中建立几个HTML文件及JSP文件。 答案:略。请参考相关章节。 3.6习题 1. 单选题 (1) 下面有关HTTP协议的说法不正确的是( ) A. HTTP协议是Web应用所使用的主要协议 B. HTTP协议是一种超文本传输协议(Hypertext Transfer Protocol),是基于请求/响应模式的 C. HTTP是无状态协议 D. HTTP的请求和响应消息如果没有发送并传递成功的话,HTTP可以保存已传递的信息 答案:D (2) 下面有关Servlet的描述错误的是( )。 A. 一个Servlet就是Java中的一个类 B. Servlet是位于Web 服务器内部的服务器端的Java应用程序 C. Servlet可以由客户端的浏览器解释执行 D. 加载Servlet的Web服务器必须包含支持Servlet的Java虚拟机 答案:C (3) 有关Servlet的调用,下列说法错误的是( )。 A. 可以通过在浏览器的地址栏中输入URL来调用Servlet。 B. 可以通过表单的action属性来调用一个Servlet接收表单信息。 C. 可以在<servlet>标记中调用Servlet。 D. 只有上述三种调用Servlet的方法。 答案:D 4.6 习题 1. 单选题 (1) 下面不属于JSP指令的是:( ) A. include B. import C. page D. taglib 答案:B (2) page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:( ) A. <%@ page %>作用于整个JSP页面。 B. 可以在一个页面中使用多个<%@ page %>指令。 C. 为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。 D. <%@ page %>指令中的属性只能出现一次。 答案:D (3) 下列标签使用正确的是:( ) A. <jsp:forward page="XXX.jsp"> <jsp:param name="xxx" value="xxx"/> </jsp:forward> B. <jsp:forward page="XXX.jsp"> </jsp:forward> C. <jsp:forward page="XXX.jsp" name="xxx" value="xxx"/> D. <jsp:forward page="XXX.jsp"/> <jsp:param name="xxx" value="xxx"/> </jsp:forward> 答案:A (4) ( )动作用于转向另一个页面。 A. next B. forward C. include D. param 答案:B (5) 在项目中已经建立了一个JavaBean,该类为:bean.Student,该bean具有name属性,则下面标签用法正确的是:( ) A. <jsp:useBean id="student" class="Student" scope="session"> </jsp:useBean> B. <jsp:useBean id="student" class="Student" scope="session"> </jsp:useBean> C. <jsp:useBean id="student" class="bean.Student" scope="session"> </jsp:useBean> D. <jsp:getProperty name="name" property="student"/> 答案:C (6) jsp:useBean 动作的scope属性设置为( )将使同一用户在不同页面共享Beans。 A. page B. session C. application D. request 答案:B (7) 在JSP中使用<jsp:getProperty>标记时,不会出现的属性是:( ) A. name B. property C. value D. 以上皆不会出现 答案:C 2. 上机练习 (1)应用Date函数读取系统当前时间,根据不同的时间段,在浏览器输出不同的问候语,例如上午0~12点之间输出“早上好”,同时把系统的年、月、日、小时、分、秒和星期输出到用户的浏览器。 答案:文件date.jsp代码如下: <%@ page contentType="text/html;charset=gb2312" import="java.util.*"%> <html> <head> <title>jsp基本语法应用案例</title> </head> <body> <center> <% Date today = new Date(); int year0 = today.getYear(); int year = year0 + 1900; int month0 = today.getMonth(); int month = month0 + 1; int date = today.getDate(); int day = today.getDay(); int hours = today.getHours(); int minutes = today.getMinutes(); int seconds = today.getSeconds(); if (hours >= 0 && hours < 12) { out.println("朋友们,早上好!"); } else if (hours >= 12 && hours < 19) { out.println("朋友们,下午好!"); } else out.println("朋友们,晚上好!"); out.println("<br>现在是:" + year + "年" + month + "月" + date + "日星期"+ day + "<br>"+hours + "时" + minutes + "分" + seconds + "秒"); %> </center> </body> </html> 程序运行结果如图4.1所示。 图4.1 上机练习(1)运行结果 (2)加载动态文件,制作一个JSP文件,计算一个数的平方,然后再制作一个JSP文件,应用<jsp:include>动作加载上述的JSP文件,在客户端显示出来,并在客户端的“查看源文件”中观察源文件。 答案: 计算一个数的平方的文件square.jsp代码如下: <%@ page contentType="text/html; charset=gb2312"%> <html> <head> <title>jsp:include</title> </head> <body> <% String str = request.getParameter("num"); if (str == null) { str = "1"; } int n = Integer.parseInt(str); double f; f = n * n; %> <%=n%>的平方等于<%=f%> </body> </html> 包含此文件的JSP文件include.jsp文件代码如下: <%@ page contentType="text/html; charset=gb2312" language="java" import="java.lang.Math"%> <html> <head> <title>jsp:include</title> </head> <body> <b> 求一个数的平方</b> <br> <jsp:include page="square.jsp"> <jsp:param name="num" value="9" /> </jsp:include> </body> </html> 文件运行结果如图4.2所示。 图4.2 上机练习(2)运行结果 (3)设计表单,制作读者选购图书的界面,当读者选中一本图书后,单击“确定”按钮,用“jsp:forward page=”语句将页面跳转到介绍该图书信息页面。 答案: 读者选择图书页面selectBook.jsp代码如下: <%@ page contentType="text/html; charset=gb2312"%> <html> <head> <title>选择图书</title> </head> <body> <form name="form1" method="post" action="receiveBook.jsp"> <table border="1"> <tr> <td> 《WEB技术应用基础》 </td> <td> 《信号与系统》 </td> </tr> <tr> <td> <input type="radio" name="book" value="web"> </td> <td> <input type="radio" name="book" value="signal"> </td> </tr> <tr> <td colspan="2"> <input type="submit" name="Submit" value="提交"> </td> </tr> </table> </form> </body> </html> 接受用户的选择并根据用户的选项转向图书信息页面的文件receiveBook.jsp代码如下: <%@ page contentType="text/html; charset=gb2312"%> <% request.setCharacterEncoding("GB2312"); %> <html> <head> <title>JSP:动作</title> </head> <body> <% String getsel; getsel = request.getParameter("book"); if (getsel.equals("web")) { %> <jsp:forward page="bookInfo.jsp"> <jsp:param name="bookname" value="《WEB技术应用基础》" /> <jsp:param name="auther" value="樊月华" /> </jsp:forward> <% } else if (getsel.equals("signal")) { %> <jsp:forward page="bookInfo.jsp"> <jsp:param name="bookname" value="《信号与系统》" /> <jsp:param name="auther" value="陈后金" /> </jsp:forward> <% } %> </body> </html> 显示图书信息的页面bookInfo.jsp代码如下: <%@ page contentType="text/html; charset=gb2312"%> <% request.setCharacterEncoding("GB2312"); %> <html> <head> <title>无标题文档</title> </head> <body> 你选择的是: <%=request.getParameter("bookname")%> <br /> 作者是:<%=request.getParameter("auther")%> </body> </html> 文件运行结果如图4.3各图所示。 图4.3 上机练习(3)运行结果 5.11 习题 1. 单选题 (1) 下列选项中,( )可以准确地获取请求页面的一个文本框的输入(文本框的名称为name)。 A. request.getParameter(name) B. request.getParameter(”name”) C. request.getParameterValues(name) D. request.getParameterValues(“name”) 答案:B (2) 使用response对象进行重定向时,使用的方法是( )。 A. getAttribute B. setContentType C. sendRedirect D. setAttribute 答案:C (3) session对象中用于设定指定名字的属性值,并且把它存储在session对象中的方法是( )。 A. setAttribute B. getAttributeNames C. getValue D. getAttribute 答案:A (4) 在application对象中用( )方法可以获得application对象中的所有变量名。 A. getServerInfo B. nextElements() C. removeAttribute D. getRealPath 答案:B 2. 上机练习 (1)制作一个购书页面,要求用户输入用户名和密码,并通过下拉菜单选择需要购买的图书,单击“确定”按钮,将信息发往服务器端,服务器端文件接收用户输入并输出用户名和所购图书。 答案: 读者选购图书页面buyBook.jsp代码如下: <html> <head> <title>选购图书</title> </head> <body> <p> 请输入个人信息并选择要购买的图书 </p> <form id="form1" name="form1" method="post" action="receiveUser.jsp"> 用户名 <input type="text" name="username" /> <br /> 密&nbsp; 码 <input type="password" name="pwd" /> <br /> 图&nbsp; 书 <select name="book"> <option value="Web技术应用基础"> Web技术应用基础 </option> <option value="信号与系统"> 信号与系统 </option> <option value="高等数学"> 高等数学 </option> </select> <br /> <input type="submit" name="Submit" value="提交" /> &nbsp; <input type="reset" name="Submit2" value="清空" /> </form> </body> </html> 接收用户输入的服务器端文件receiveUser.jsp代码如下: <%@ page contentType="text/html; charset=gb2312"%> <html> <head> <title>无标题文档</title> </head> <body> <% request.setCharacterEncoding("GB2312"); String userName = request.getParameter("username"); String book = request.getParameter("book"); %> <%=userName%>你好 <br> 你要购买的图书为: 《<%=book%>》<br> </body> </html> 文件运行结果如图5.1所示。 图5.1 上机练习(1)运行结果 (2)设计表单,制作读者选购图书的界面,当读者选中一本图书后,单击“确定”按钮,页面跳转到介绍该图书信息页面,要求使用response对象sendRedirect方法。 答案: 读者选购图书页面buyBook2.htm代码如下: <html> <head> <title>选购图书</title> </head> <body> <form action="receiveBook2.jsp" method="post"> <table width="50%" border="1" align="center"> <tr> <td colspan="2"> <font size="5">请选择需要的图书:</font> </td> </tr> <tr> <td width="88%"> 《Web技术应用基础》 </td> <td width="12%"> <input type="radio" name="bv" value="1" /> </td> </tr> <tr> <td> 《微型计算机原理及应用技术》 </td> <td> <input type="radio" name="bv" value="2" /> </td> </tr> <tr> <td colspan="2"> <input type="submit" name="Submit" value="提交" /> </td> </tr> </table> </form> </body> </html> 文件receiveBook2.jsp接收用户的选择并根据用户的选择转向不同的页面,其代码如下: <% String bv = request.getParameter("bv"); if (bv.equals("")) { response.sendRedirect("buyBook2.htm"); } else if (bv.equals("1")) { response.sendRedirect("webBook.htm"); } else if (bv.equals("2")) { response.sendRedirect("computerBook.htm"); } %> 图书介绍页面webBook.htm代码如下: <html> <head> <title>Web技术应用基础</title> </head> <body> <table width="57%" border="1" align="center"> <tr> <td align="center"> <font size="5">《Web技术应用基础》</font> </td> </tr> <tr> <td align="center"> 清华大学出版社 </td> </tr> <tr> <td align="center"> 樊月华 主编 </td> </tr> <tr> <td align="center"> 35.0元 </td> </tr> </table> </body> </html> 图书介绍页面computerBook.htm代码如下: <html> <head> <title>微型计算机原理及应用技术</title> </head> <body> <table width="57%" border="1" align="center"> <tr> <td align="center"> <font size="5">《微型计算机原理及应用技术》</font> </td> </tr> <tr> <td align="center"> 机械工业出版社 </td> </tr> <tr> <td align="center"> 朱金钧 麻新旗 编著 </td> </tr> <tr> <td align="center"> 31.0元 </td> </tr> </table> </body> </html> 文件运行结果如图5.2所示。 图5.2 上机练习(2)运行结果 (3)设计网上考试界面如图8.24所示,应用session对象存储测试数据,当考生完成试题,单击“确定”按钮,将答案与正确答案比较,给出结果和答题所用的时间。 图5.3 上机练习(3)运行结果 答案: 考试页面exam.jsp代码如下: <%@ page contentType="text/html; charset=gb2312"%> <% String name = request.getParameter("name"); String num = request.getParameter("num"); String answer1 = request.getParameter("question1"); String answer2 = request.getParameter("question2"); if (name != null && num != null && answer1 != null && answer2 != null) { session.putValue("name", name); session.putValue("num", num); session.putValue("answer1", answer1); session.putValue("answer2", answer2); %> <a href="answer.jsp">查看考试结果及答案</a> <% } else { %> <html> <head> <title>考试页面</title> </head> <body> <form action="exam.jsp" method="get"> <center> <font color="#000099" size="6">考试系统</font> <p> 请输入姓名: <input type="text" name="name"> <br> 请输入考号: <input type="text" name="num"> </p> <hr /> </center> 考试时间:<%=((session.getLastAccessedTime() - session .getCreationTime()) / 1000)%>秒 <br> 1.IP协议对应OSI协议中的哪一层: <br> <input name="question1" type="radio" value="1"> 会话层 <input name="question1" type="radio" value="2" /> 传输层 <input name="question1" type="radio" value="3" /> 数据链路层 <input name="question1" type="radio" value="4" /> 网络层 <br> 2.JSP文件中使用下面哪种语言作为服务器端程序默认的语言: <br> <input name="question2" type="radio" value="1"> VC++ <input name="question2" type="radio" value="2" /> Java <input name="question2" type="radio" value="3" /> Qbasic <input name="question2" type="radio" value="4" /> JavaScript <br> <center> <input name="复位" type="reset" value="复位" /> <input name="确定" type="submit" value="提交" /> </center> </form> <br> <% } %> </body> </html> 提交后查看考试结果及答案页面answer.jsp代码如下: <%@ page contentType="text/html;charset=gb2312" import="java.util.Date"%> <html> <head> <title>考试结果</title> </head> <body> <center> <font size=5 color=blue>考试结果</font> </center> <hr> <% Object Q1 = session.getValue("answer1"); Object Q2 = session.getValue("answer2"); { if (Q1.equals("4")) { out.print("第一题正确<br>"); out.print("正确答案是:网络层。<br>"); } else { out.print("第一题错误<br>"); out.print("正确答案是:网络层。<br>"); } } { if (Q2.equals("2")) { out.print("第二题正确<br>"); out.print("正确答案是:Java。<br>"); } else { out.print("第二题错误<br>"); out.print("正确答案是:Java。<br>"); } } %> </body> </html> 提交题目后页面及查看考试结果页面如图5.4所示。 图5.4 上机练习(3)提交后页面及查看考试结果页面 6.6习题 1. 单选题 (1) 创建数据表应该用以下( )指令。 A. INSERT B. CREATE C. SELECT D. UPDATE 答案:B (2) 创建数据表时如果要指定某一个字段为主键,应该用( )参数。 A. NOT NULL B. Auto_Increment C. Primary Key D. Key 答案:C (3) 要删除数据表中的一条记录应该用以下的( )命令。 A. INSERT B. DELETE C. SELECT D. UPDATE 答案:B 2. 上机练习 (1)启动MySQL的命令行管理工具,用MySQL的建库语句建立一个名为company的数据库。 (2)在company库中建立雇员表emp,表的数据项及数据类型如下所示: empno int(4) not null primary key, ename varchar(10), job varchar(10), hiredate datetime, salary double (3)建立一个JSP文件,通过JDBC连接数据库,然后执行如下操作: l 在雇员表emp中插入几行测试数据(英文数据,日期格式为YYYY-MM-DD)。 l 查看表中的数据。 l 修改表中的某条记录。 l 删除表中的某条记录。 答案: (1)建库语句为:create database company; (2)首先使用下列语句选中company数据库为当前数据库: use company; 然后通过以下语句建立雇员表emp: create table emp( empno int(4), ename varchar(10), jo
展开阅读全文

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


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

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

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

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

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

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服