1.7 习题 1. 单选题
(1) 在HTML中超链接标记为( )
A.
和 B.
(2) 表单中的数据要提交到的处理文件由表单的( )属性指定。
A.
method B. name C. action D. 以上都不对 答案:C
(3) 当标记的type属性值为( )时,代表一个多选框。
A.
text B. radio C. checkbox D. button
答案:C
(4) 以下URL中语法不正确的是( )
A. B. C. D.
2. 上机练习
用记事本或Dreamweaver制作如下几个页面(建议用Dreamweaver制作):
link.html:此页面只有一个超级链接,用户单击此链接后将链接到login.html登录页面。 login.html:此页面为用户登录页面,用户可以在此页面输入用户名和密码,然后提交表单。 login_success.jsp:接收用户输入并显示“登录成功!”。三个页面运行后的效果如图1.8所示。
http://www.bta.net.cn:80/software/home.html telnet://bdysseu.bbb.com:70 ftp://ftp.btbu.edu.cn www0.btbu.edu.cn
答案:D
图1.8 练习题页面运行效果
答案:
link.html代码如下:
login.html代码如下:
login_success.jsp代码如下:
<%@ page contentType=\
登录成功!
无标题文档
2.7 习题 1. 单选题
(1) 要运行JSP程序,下列说法不正确的是( )
A. B. C. D.
服务器端需要安装Servlet容器,如Tomcat等。 客户端需要安装Servlet容器,如Tomcat等。 服务器端需要安装JDK。
客户端需要安装浏览器,如IE等。
答案:B
(2) 当发布Web应用程序时,通常把Web应用程序的目录及文件放到Tomcat的( )目录下。
A.
2. 上机练习
(1)按照本章所介绍的方法,下载和安装JDK和Tomcat,配置Windows操作系统下的Java Web应用开发环境。
? ? ?
安装j2sdk,配置系统的环境变量,测试j2sdk安装是否成功。
安装并配置Tomcat ,安装完成后发布Tomcat 的默认主页,完成Tomcat 的启动和停止操作。
创建一个虚拟发布目录,将例helloapp.jsp存入虚拟目录发布。
(2)练习建立MyEclipse Web Project,并在其中建立几个HTML文件及JSP文件。 答案:略。请参考相关章节。 3.6习题 1. 单选题
(1) 下面有关HTTP协议的说法不正确的是( )
A. B. C. D.
HTTP协议是Web应用所使用的主要协议
HTTP协议是一种超文本传输协议(Hypertext Transfer Protocol),是基于请求/响应模式的 HTTP是无状态协议
HTTP的请求和响应消息如果没有发送并传递成功的话,HTTP可以保存已传递的信息 work B. temp C. webapps D. conf
答案:C
答案:D
(2) 下面有关Servlet的描述错误的是( )。
A. B. C. D.
一个Servlet就是Java中的一个类
Servlet是位于Web 服务器内部的服务器端的Java应用程序 Servlet可以由客户端的浏览器解释执行
加载Servlet的Web服务器必须包含支持Servlet的Java虚拟机
答案:C
(3) 有关Servlet的调用,下列说法错误的是( )。
A. B. C. D.
可以通过在浏览器的地址栏中输入URL来调用Servlet。 可以通过表单的action属性来调用一个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. B. C. (4) ( )动作用于转向另一个页面。 A. next B. forward C. include D. param 答案:B (5) 在项目中已经建立了一个JavaBean,该类为:bean.Student,该bean具有name属性,则下面 标签用法正确的是:( ) A. B. C. D. (6) jsp:useBean 动作的scope属性设置为( )将使同一用户在不同页面共享Beans。 A. page B. session C. application D. request 答案:B (7) 在JSP中使用 A. name B. property C. value D. 以上皆不会出现 答案:C 2. 上机练习 (1)应用Date函数读取系统当前时间,根据不同的时间段,在浏览器输出不同的问候语,例如上午0~12点之间输出“早上好”,同时把系统的年、月、日、小时、分、秒和星期输出到用户的浏览器。 答案:文件date.jsp代码如下: <%@ page contentType=\
<% %>
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(\朋友们,早上好!\out.println(\朋友们,下午好!\out.println(\朋友们,晚上好!\} else if (hours >= 12 && hours < 19) { } else
out.println(\现在是:\+ year + \年\+ month + \月\+ date + \日星期\day +
\时\分\秒\
程序运行结果如图4.1所示。
图4.1 上机练习(1)运行结果
(2)加载动态文件,制作一个JSP文件,计算一个数的平方,然后再制作一个JSP文件,应用
答案:
计算一个数的平方的文件square.jsp代码如下: <%@ page contentType=\
<% %>
<%=n%>的平方等于<%=f%>
String str = request.getParameter(\if (str == null) { }
int n = Integer.parseInt(str); double f; f = n * n;
str = \
包含此文件的JSP文件include.jsp文件代码如下:
<%@ page contentType=\ import=\
求一个数的平方
文件运行结果如图4.2所示。
图4.2 上机练习(2)运行结果
(3)设计表单,制作读者选购图书的界面,当读者选中一本图书后,单击“确定”按钮,用“jsp:forward page=”语句将页面跳转到介绍该图书信息页面。
答案:
读者选择图书页面selectBook.jsp代码如下: <%@ page contentType=\
接受用户的选择并根据用户的选项转向图书信息页面的文件receiveBook.jsp代码如下: <%@ page contentType=\<%
request.setCharacterEncoding(\%>
<%
String getsel;
getsel = request.getParameter(\
%>
if (getsel.equals(\
}
显示图书信息的页面bookInfo.jsp代码如下: <%@ page contentType=\<% request.setCharacterEncoding(\%> 你选择的是: <%=request.getParameter(\ 作者是:<%=request.getParameter(\
文件运行结果如图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代码如下:
接收用户输入的服务器端文件receiveUser.jsp代码如下: <%@ page contentType=\
<% %>
<%=userName%>你好
你要购买的图书为: 《<%=book%>》
request.setCharacterEncoding(\
String userName = request.getParameter(\String book = request.getParameter(\
文件运行结果如图5.1所示。
图5.1 上机练习(1)运行结果
(2)设计表单,制作读者选购图书的界面,当读者选中一本图书后,单击“确定”按钮,页面跳转到介绍该图书信息页面,要求使用response对象sendRedirect方法。
答案:
读者选购图书页面buyBook2.htm代码如下:
文件receiveBook2.jsp接收用户的选择并根据用户的选择转向不同的页面,其代码如下: <%
String bv = request.getParameter(\ if (bv.equals(\ } %>
图书介绍页面webBook.htm代码如下:
35.0元 | 樊月华 主编 | 清华大学出版社 |
|
图书介绍页面computerBook.htm代码如下:
31.0元 | 朱金钧 麻新旗 编著 | 机械工业出版社 |
|
文件运行结果如图5.2所示。
图5.2 上机练习(2)运行结果
定”按钮,将答案与正确答案比较,给出结果和答题所用的时间。
(3)设计网上考试界面如图8.24所示,应用session对象存储测试数据,当考生完成试题,单击“确
图5.3 上机练习(3)运行结果
答案:
考试页面exam.jsp代码如下:
<%@ page contentType=\<%
String name = request.getParameter(\ String num = request.getParameter(\ String answer1 = request.getParameter(\ String answer2 = request.getParameter(\ if (name != null && num != null && answer1 != null %>
&& answer2 != null) { session.putValue(\session.putValue(\session.putValue(\session.putValue(\
}
提交后查看考试结果及答案页面answer.jsp代码如下:
<%@ page contentType=\
%>
<%
Object Q1 = session.getValue(\Object Q2 = session.getValue(\{ } { }
if (Q2.equals(\ }
out.print(\第二题正确
\out.print(\正确答案是:Java。
\out.print(\第二题错误
\out.print(\正确答案是:Java。
\if (Q1.equals(\ }
out.print(\第一题正确
\
out.print(\正确答案是:网络层。
\out.print(\第一题错误
\
out.print(\正确答案是:网络层。
\
考试结果
} else {
} else {
提交题目后页面及查看考试结果页面如图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.
2. 上机练习
INSERT B. DELETE C. SELECT D. UPDATE
答案:B
(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连接数据库,然后执行如下操作: ? ? ? ?
在雇员表emp中插入几行测试数据(英文数据,日期格式为YYYY-MM-DD)。 查看表中的数据。 修改表中的某条记录。 删除表中的某条记录。
答案:
(1)建库语句为:create database company;
(2)首先使用下列语句选中company数据库为当前数据库: use company;
然后通过以下语句建立雇员表emp: create table emp( empno int(4), ename varchar(10), job varchar(10),
hiredate datetime, salary double, primary key(empno)); (3) ?
文件jdbcAdd.jsp实现在emp表中插入两条记录并查看插入后表中的数据,其代码如下: <%@ page contentType=\<%@ page language=\
<%@ page import=\<%@ page import=\
%>
插入两条记录后表中的数据
String sql1 = \
java.sql.ResultSet rs = statement.executeQuery(sql1);
<%
//驱动程序名
String driverName = \//数据库用户名 String userName = \//密码
String userPwd = \//数据库名
String dbName = \//表名
String tableName = \//连接字符串
String url = \
+ userName + \
Class.forName(\java.sql.Connection conn = DriverManager.getConnection(url); java.sql.Statement statement = conn.createStatement(); String sql0 = \
+ \
statement.executeUpdate(sql0); sql0 = \
+ \//+ \
//sql0 = \statement.executeUpdate(sql0);
<%=rs.getString(1)%> | <%=rs.getString(2)%> | <%=rs.getString(3)%> | <%=rs.getString(4)%> | <%=rs.getString(5)%> | 雇员工资 |
文件运行结果如图6.1所示。
图6.1 往表中插入两条记录
?
文件jdbcUpdate.jsp实现将emp表中编号为2的记录的工资修改为6000,并查看插入后表中的数据,其代码如下:
<%@ page contentType=\<%@ page language=\
<%@ page import=\<%@ page import=\
<%
//驱动程序名
String driverName = \//数据库用户名 String userName = \//密码
String userPwd = \//数据库名
String dbName = \//表名
String tableName = \//连接字符串
String url = \
+ userName + \
Class.forName(\java.sql.Connection conn = DriverManager.getConnection(url); java.sql.Statement statement = conn.createStatement(); String sql0 = \
+ \
statement.executeUpdate(sql0);
String sql1 = \
java.sql.ResultSet rs = statement.executeQuery(sql1);
%>
更改第二条记录中的工资项后表中的数据
<%=rs.getString(1)%> | <%=rs.getString(2)%> | <%=rs.getString(3)%> | <%=rs.getString(4)%> | <%=rs.getString(5)%> | 雇员工资 |
%>
文件运行结果如图6.2所示。
图6.2 修改表中的数据
?
文件jdbcDelete.jsp实现将emp表中编号为1的记录删除,并查看插入后表中的数据,其代码如下:
<%@ page contentType=\<%@ page language=\
<%@ page import=\<%@ page import=\
<%
//驱动程序名
String driverName = \//数据库用户名 String userName = \//密码
String userPwd = \//数据库名
String dbName = \//表名
String tableName = \//连接字符串
String url = \
+ userName + \
Class.forName(\java.sql.Connection conn = DriverManager.getConnection(url); java.sql.Statement statement = conn.createStatement(); String sql0 = \statement.executeUpdate(sql0);
String sql1 = \
%>
java.sql.ResultSet rs = statement.executeQuery(sql1);
删除第一条记录后表中的数据
<%=rs.getString(1)%> | <%=rs.getString(2)%> | <%=rs.getString(3)%> | <%=rs.getString(4)%> | <%=rs.getString(5)%> | 雇员工资 |
%>
conn.close();
文件运行结果如图6.3所示。
图6.3 删除表中的记录
7.6习题 1. 单选题
(1) 有关JavaBean的说法不正确的是( )
A. B. C. D.
JavaBean其实就是一个Java类
应用JavaBean可以将表示层和业务逻辑层分开 编写JavaBean和编写普通的Java类要求一样
JavaBean降低了JSP程序的复杂度,同时也增加了软件的可重用性
答案:C
(2) 以下不属于JavaBean作用范围的是( )。
A.
request B. session C. application D. scope
答案:D
(3) JSP中JavaBean是通过指令标签( )来访问的。
A.
2. 上机练习
制作一个页面,如图7.8所示,在本页面设置表单提交后页面的背景颜色,文字的大小、字体和颜色。表单提交后转向的页面使用本页面的设置进行显示。要求应用JavaBean完成。
<%@ page%> B.
答案:B
表7.8 设置页面属性
答案:文件pageBean.java定义了实现该功能的JavaBean,文件代码如下: package bean;
import java.io.*;
public class pageBean {
public String gettxtColor() {
public void settxtColor(String txtColor) { }
this.txtColor = txtColor; public String gettxtFont() { }
return this.txtFont;
public void settxtFont(String txtFont) { }
this.txtFont = txtFont; public String gettxtSize() { }
return this.txtSize;
public void settxtSize(String txtSize) { }
this.txtSize = txtSize; public String getbgColor() { }
return this.bgColor;
public void setbgColor(String bgColor) { }
this.bgColor = bgColor; public pageBean() { }
bgColor = \txtSize = \txtFont = \宋体\txtColor = \private String bgColor; private String txtSize; private String txtFont; private String txtColor;
}
}
return this.txtColor;
文件pageJavaBean.jsp文件调用定义的JavaBean,通过JavaBean实现页面属性的设置。文件代码如下: <%@ page language=\<%@ page import=\
face=\