JSP程序设计课后习题答案

JSP程序设计课后习题答案第一章JSP概述1-1JSP的全称是什么?JSP有什么优点?JSP与ASP、PHP的相同点是什么?JSP的全称是JavaServerPages。优点:跨平台、分离静态内容和动态内容、可重复使用的组件、沿用了JavaServlet的所有功能、具有预编译性。共同点:可以在页面中加入脚本代码来生成动态内容。1-2JSP中可重复使用的组件有哪些?JavaBean组件、JSP的标准标签和自定义标签。1-3什么是JSP的预编译特征?预编译是JSP的另一个重要的特性。JSP

大家好,又见面了,我是你们的朋友全栈君。

第一章 JSP概述
1-1 JSP的全称是什么?JSP有什么优点?JSP与ASP、PHP的相同点是什么?

JSP的全称是Java Server Pages。
优点:跨平台、分离静态内容和动态内容、可重复使用的组件、沿用了Java Servlet的所有功能、具有预编译性。
共同点:可以在页面中加入脚本代码来生成动态内容。

1-2 JSP中可重复使用的组件有哪些?

JavaBean组件、JSP的标准标签和自定义标签。

1-3 什么是JSP的预编译特征?

预编译是JSP的另一个重要的特性。JSP页面在被服务器执行前,都是已经被编译好的,并且通常只进行一次编译,即在JSP页面被第一次请求时进行编译,在后续的请求中如果JSP页面没有被修改过,服务器只需要直接调用这些已经被编译好的代码,这大大提高了访问速度。

1-4 开发JSP程序需要具备哪些开发环境?

Web浏览器、Web服务器、JDK开发工具包以及数据库。

1-5 在成功安装JDK后,需要配置哪些环境变量?

JAVA_HOME变量、Path变量、CLASSPATH变量

1-6 Tomcat的默认端口、用户名和密码分别是什么?

端口为“8080”、用户名为“admin”、密码为空。

1-7 本章介绍的用来开发JSP程序的开发工具是什么?

Eclipse

1-8 开发JSP程序可采用哪几种开发模式?分别介绍它们的优缺点。

单纯的JSP页面编程:
优点:通过应用JSP中的脚本标志,可直接在JSP页面中实现各种功能。
缺点:大部分的Java代码与HTML代码混淆在一起,给程序的维护和调试带来很多的困难。
JSP+JavaBean编程
优点:jsp与javabean的结合,使web程序更加的直观,使用简单,不用于后台进行交互,直接在前端处理业务逻辑,更快速。
缺点:性能不好,jsp作为web的前端程序包含了太多的业务逻辑,给前端jsp造成了压力。不便于维护。
JSP+Servlet+JavaBean编程
优点:能够更好的实现表示层,逻辑层和数据访问层的分离。
缺点:Server程序需要Java集成开发环境,编程工作量较大。
MVC模式
优点:使代码能够重复利用,便于维护代码。
缺点:增加了系统结构和实现的复杂性,视图和控制器之间过于紧密连接,视图对模型数据有着低效率的访问,有的高级界面工具或构造器不支持MVC模式。

1-9 以下哪个选项不是JSP所具有的特征:
(1)跨平台 (2)快速建立Web Form
(3)分离静态与动态内容 (4)可重复使用的组件
(5)沿用了JavaServlet的所有功能 (6)预编译

(2)快速建立Web Form

1-10 请说明在Eclipse开发工具中以下快捷键的功能:
(1)Alt +上下方向键
(2)Ctrl + /
(3)Ctrl + D
(4)Ctrl + W
(5)Ctrl + F6
(6)Ctrl + Shift + O
(7)Ctrl + Shift + X
(8)Ctrl + Shift + Y

(1)Alt +上下方向键 将选中的一行或多行向上或向下移动
(2)Ctrl + / 注释或取消注释
(3)Ctrl + D 删除光标所在行的代码
(4)Ctrl + W 关闭单个窗口
(5)Ctrl + F6 切换窗口
(6)Ctrl + Shift + O 快速地导入类的路径
(7)Ctrl + Shift + X 将所选字符转为大写
(8)Ctrl + Shift + Y 将所选字符转为小写

第二章 JSP开发基础
2-1 什么是类?如何定义类?类的成员一般由哪两部分组成?这两部分的区别是什么?

类是用来创建对象的模板,它包含被创建的对象的状态描述和方法的定义。
类体主要由两部分构成,一部分是成员变量的定义,另一部分是成员方法的定义。
Java中类的行为由类的成员方法来实现。
Java用成员变量来表示类的状态和属性。

2-2 什么是成员变量和局部变量?它们的区别是什么?

在类体中变量定义部分所声明的变量为类的成员变量,而在方法体中声明的变量和方法的参数则称为局部变量。成员变量和局部变量的区别在于其有效范围不同。成员变量在整个类内都有效,而局部变量只在定义它的成员方法内才有效。

2-3 如何创建、使用并销毁对象?

首先声明对象,然后为对象分配内存空间。
创建对象后,就可以通过对象来引用其成员变量,并改变成员变量的值,而且还可以通过对象来调用其成员方法。通过使用运算符“.”实现对成员变量的访问和成员方法的调用。
Java提供的垃圾回收机制可以自动判断对象是否还在使用,并能够自动销毁不再使用的对象,收回对象所占用的资源。

2-4 构造方法的概念及用途是什么?

构造方法是一种特殊的方法,它的名字必须与它所在类的名字完全相同,并且没有返回值,也不需要使用关键字void进行标识。
构造方法用于对对象中的所有成员变量进行初始化,在创建对象时立即被调用。

2-5 下面语句的输出结果是什么?

(1)循环的输出数字1 (2)明天才是真!

2-6 在Java语言中,处理异常的语句有哪4种?

1.try…catch语句
2.finally语句
3.throw语句
4.throws语句

2-7 在JSP中引入JavaScript的方法有哪些?

1.在页面中直接嵌入JavaScript
2.链接外部JavaScript

2-8 在JavaScript中,下面的哪些变量名是正确的?
(1)abc (2)7Name (3)user_name (4)case
(5)_17 (6)news (7)pwd_1 (8)i

1 3 5 6 7 8

2-9 在JavaScript中如何定义并调用函数?

在JavaScript中,定义函数最常的方法是通过function语句实现,其语法格式如下:

function functionName([parameter1, parameter2,…]){ statements
[return expression] }

函数的调用比较简单,如果要调用不带参数的函数,则使用函数名加上括号即可;如果要调用的函数带参数,则在括号中加上需要传递的参数,如果包含多个参数,各参数间用逗号分隔。
如果函数有返回值,那么可以使用赋值语句将函数值赋给一个变量。

2-10 应用JavaScript如何打开一个新的窗口?

open()方法可以打开新窗口。

第三章 JSP语法
3-1 JSP页面由哪些元素构成?

主要包括JSP中的指令标识、脚本标识、JSP注释和动作标识。

3-2 JSP中主要包含哪几种指令标识?它们的作用及语法格式是什么?

page指令即页面指令,可以定义在整个JSP页面范围内有效的属性,其使用格式如下:

<%@ page attribute1=“value1” attribute2=“value2” …%>

include指令用于在当前的JSP页面中,在当前使用该指令的位置嵌入其他的文件,如果被包含的文件中有可执行的代码,则显示代码执行后的结果。
该指令的使用格式如下:

<%@ include file=“文件的绝对路径或相对路径” %> taglib指令的使用格式如下:

<%@ taglib uri=“tagURI” prefix=“tagPrefix” %>

3-3 JSP中的脚本标识包含哪些元素?它们的作用及语法格式是什么?

JSP中的脚本标识包括以下三种元素:声明标识(Declaration)、JSP表达式(Expression)和脚本程序(Scriptlet)。
(1)JSP表达式用于向页面中输出信息,其使用格式为:

<%= 变量或可以返回值的方法或Java表达式 %>
(2)声明标识在JSP页面中可以声明变量或方法,其声明格式为:

<%! 声明变量或方法的代码 %>
(3)脚本程序是在JSP页面中使用“<%”与“%>”标记起来的一段Java代码。在脚本程序中可以定义变量、调用方法和进行各种表达式运算,且每行语句后面要加入分号。
脚本程序使用格式如下:

<% Java程序片段 %>

3-4 在JSP中可以使用哪些注释?它们的语法格式是什么?

在这里插入图片描述
在这里插入图片描述

3-5 JSP中常用的动作标识有哪些?

jsp:include、jsp:forward、jsp:param、jsp:useBean、jsp:setProperty、jsp:getProperty、jsp:fallback、jsp:plugin。

3-6 page指令中的哪个属性可多次出现:
(A)contentType (B)extends
(C)import (D)不存在这样的属性

(C)import

3-7 以下哪些属性是include指令所具有的:
(A)page (B)file
(C)contentType (D)prefix

(B)file

3-8 下列选项哪些是正确的JSP表达式语法格式:
(A)<%String name=“YXQ”%> (B)<%String name=“您好”;%>
(C)<%=“您好”;%> (D)<%=“YXQ”%>

(D)<%=“YXQ”%>

3-9 以下动作标识用来实现页面跳转的是:
(A)jsp:include (B)jsp:useBean
(C)jsp:forward (D)jsp:plugin

(C)jsp:forward

第四章 JSP内置对象
4-1 JSP提供的内置对象有哪些?作用分别是什么?

在这里插入图片描述

4-2 当表单提交信息中包括汉字时,在获取时应该做怎样的处理?

使用request.setCharacterEncoding(“gb2312”)

4-3 如何实现禁用缓存功能?

通过设置HTTP头可实现禁用缓存功能,具体代码如下:

<%response.setHeader(“Cache-Control”,“no-store”);
response.setDateHeader(“Expires”,0);%>

4-4 如何重定向网页?

sendRedirect(String location):使用指定的重定向位置URL想客户发送重定向响应,可以使用相对URL

4-5 如果用户长时间不操作session对象,用户的session对象会消失吗?

当非活动的时间超出了窗口的大小时,JSP容器将使session对象无效并撤销所有属性的绑定,从而管理会话的生命周期。

4-6 用户关闭浏览器后,用户的session会立即消失吗?

用户关闭浏览器并不等于关闭了session,其实在浏览器关闭后,session并没有失效,在一定时间内(系统默认为30分钟内),若客户端不向服务器端发出应答请求,session对象就会消失。

4-7 如何延长session的过期时间?

使用setMaxInactiveInterval(int interval)方法设置超时时间。

4-8 session对象与application对象的区别有哪些?

session对象和用户会话相关,不同用户的session是完全不同的对象,而用户的application对象都是相同的一个对象,即共享这个内置的application对象。

第五章 JavaBean技术
5-1 什么是JavaBean?使用JavaBean的优点是什么?

JavaBean组件就是利用Java语言编写的组件,它好比一个封装好的容器,使用者并不知道其内部是如何构造的,但它却具有适应用户要求的功能,每个JavaBean都实现了一个特定的功能,通过合理地组织不同功能的JavaBean,可以快速生成一个全新的应用程序。
使用JavaBean的最大优点就在于它可以提高代码的重用性。

5-2 按功能JavaBean可分为哪几种?在JSP中最为常用的是哪一种?

(1)可视化JavaBean
(2)不可视JavaBean
常用的是不可视JavaBean。

5-3 在JSP中一个标准的JavaBean需要具备哪些条件?

(1)实现java.io.Serializable接口;
(2)是一个公共类;
(3)类中必须存在一个无参数的构造函数;
(4)提供对应的setXxx()和getXxx()方法来存取类中的属性,方法中的“Xxx”为属性名称,属性的第一个字母应大写

5-4 分别介绍值JavaBean与工具JavaBean的作用。

值JavaBean严格遵循了JavaBean的命名规范,通常用来封装表单数据,作为信息的容器。
工具JavaBean则可以不遵循JavaBean规范,通常用于封装业务逻辑,数据操作等,工具JavaBean可以实现业务逻辑与页面显示的分离,提高了代码的可读性与易维护性。

5-5 JavaBean具有哪几种属性?在JSP中比较常用的是哪些属性?

(1)简单属性(Simple)
(2)索引属性(Indexed)
(3)绑定属性(Bound)
(4)约束属性(Constrained)
简单属性最为常用。

5-6 以下对JavaBean的描述正确的是:
(A)创建的JavaBean必须实现java.io.Serializable接口。
(B)编译后的JavaBean放在项目中的任何目录下,在JSP页面中都可以被调用。
(C)JavaBean最终是被保存到后缀名为jsp的文件中。
(D)JavaBean实质上就是一个Java类。
(E)在JSP页面中只有通过jsp:useBean动作标识才可以调用JavaBean。

(D)JavaBean实质上就是一个Java类。

第六章 Servlet技术
6-1 什么是Servlet?Servlet的技术特点是什么?Servlet与JSP有什么区别?

Servlet是一种独立于平台和协议的服务器端的Java技术,可以用来生成动态的Web页面。
技术特点:
(1)高效(2)方便(3)跨平台(4)功能强大 (5)灵活性和可扩展性(6)共享数据
(7)安全
Servlet与JSP相比有以下几点区别:
(1)编程方式不同;
(2)Servlet必须在编译以后才能执行;
(3)运行速度不同。

6-2 创建一个Servlet通常分为哪几个步骤?

创建一个Servlet,通常涉及下列4个步骤。
(1)继承HttpServlet抽象类。
(2)重载适当的方法,如覆盖(或称为重写)doGet()方法或doPost()方法。
(3)如果有HTTP请求信息的话,获取该信息。
(4)生成HTTP响应。

6-3 运行Servlet需要在web.xml文件中进行哪些配置?

(1)Servlet的名称、类和其他选项的配置
(2)初始化参数
(3)启动装入优先权
(4)Servlet的映射

6-4 怎样设置Servlet的启动装入优先级别?

启动装入优先权通过<load-on-startup>元素指定,例如下面的代码:
<servlet>
  	<servlet-name>ServletONE</servlet-name>
  	<servlet-class>com.ServletONE</servlet-class>
  	<load-on-startup>10</load-on-startup>
</servlet>
<servlet>
  	<servlet-name>ServletTWO</servlet-name>
  	<servlet-class>com.ServletTWO</servlet-class>
  	<load-on-startup>20</load-on-startup>
</servlet>
<servlet>
  	<servlet-name>ServletTHREE</servlet-name>
  	<servlet-class>com.ServletTHREE</servlet-class>
  	<load-on-startup>AnyTime</load-on-startup>
</servlet>

6-5 当访问一个Servlet时,以下Servlet中的哪个方法先被执行:
(A)destroy() (B)doGet() (C)service() (D)init()

(D)init()

6-6 假设在myServlet应用中有一个MyServlet类,在web.xml文件中对其进行如下配置:

<servlet>
  <servlet-name> myservlet </servlet-name>
  <servlet-class>com.yxq.servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name> myservlet</servlet-name>
  <url-pattern>/welcome</url-pattern>
</servlet-mapping>

则以下选项可以访问到MyServlet的是:
(A)http://localhost:8080/MyServlet
(B)http://localhost:8080/myservlet
(C)http://localhost:8080/com/yxq/servlet/MyServlet
(D)http://localhost:8080/yxq /welcome

(D)http://localhost:8080/yxq /welcome

第七章 JSP实用组件
7-1 jSPSmartUpload、Java Mail、JFreeChart和iText组件的作用是什么?

jspSmartUpload组件最常用的功能就是实现发送E-mail。
Java Mail:可以与MUA类型的程序交互,以阅读和撰写电子邮件.
JFreeChart是一个Java开源项目,是一款优秀的Java图表生成插件
iText是一个能够快速产生PDF文件的Java类库,通过iText提供的Java类不仅可以生成包含文本、表格、图形等内容的只读文档,而且可以将XML、HTML文件转化为PDF文件。

7-2 怎么解决在实现文件下载时抛出getOutputStream() has already been called for this response异常的情况?

要解决该问题,可以在程序中添加以下代码即可。

out.clear();
out=pageContext.pushBody();

7-3 在使用JFreeChart组件时,需要进行哪些准备工作?

利用JFreeChart组件生成动态统计图表的基本步骤如下:
(1)创建绘图数据集合;
(2)创建JFreeChart实例;
(3)自定义图表绘制属性,该步可选;
(4)生成指定格式的图片,并返回图片名称;
(5)组织图片浏览路径;
(6)通过HTML中的标记显示图片。

7-4 在使用iText组件时,如何将PDF文档设定成B5页面大小?

Rectangle rectPageSize = new Rectangle(PageSize.B5); //定义B5页面大小

第八章 JSP数据库应用开发
8-1 在Windows 7操作系统中,通过JDBC连接SQL Server 2008数据库需要进行什么操作?

首先加载数据库的驱动,然后创建数据库的连接。

8-2 简述JDBC连接数据库的基本步骤。

(1)加载JDBC驱动程序
(2)创建数据库连接
(3)执行SQL语句
(4)获得查询结果
(5)关闭连接

8-3 写出SQL Server 2008数据库的驱动及连接本地机器上的数据库db_databse的URL地址。

Connection conn = DriverManager.getConnection(
“jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db_database”, “sa”, “”);

8-4 执行动态SQL语句的接口是什么?

PreparedStatement

8-5 Statement实例又可以分为哪3种类型?功能分别是什么?

(1)Statement实例:该类型的实例只能用来执行静态的SQL语句;
(2)PreparedStatement实例:该类型的实例增加了执行动态SQL语句的功能;
(3)CallableStatement对象:该类型的实例增加了执行数据库存储过程的功能。

8-6 JDBC中提供的两种实现数据查询的方法分别是什么?

JDBC中提供了两种实现数据查询的方法,一种是通过Statement对象执行静态的SQL语句实现;另一种是通过PreparedStatement对象执行动态的SQL语句实现。

8-7 简述数据库连接池的优缺点。

连接池具有下列优点:
(1)创建一个新的数据库连接所耗费的时间主要取决于网络的速度以及应用程序和数据库服务器的(网络)距离,而且这个过程通常是一个很耗时的过程,而采用数据库连接池后,数据库连接请求则可以直接通过连接池满足,而不需要为该请求重新连接、认证到数据库服务器,从而节省了时间;
(2)提高了数据库连接的重复使用率;
(3)解决了数据库对连接数量的限制。
连接池具有下列缺点:
(1)连接池中可能存在多个与数据库保持连接但未被使用的连接,在一定程度上浪费了资源;
(2)要求开发人员和使用者准确估算系统需要提供的最大数据库连接的数量。

8-8 如何在Tomcat中配置数据库连接池?

(1)将SQL Server数据库的JDBC驱动包sqljdbc.jar或者sqljdbc4.jar复制到Tomcat安装路径下的lib文件夹中。
(2)配置数据源。在配置数据源时,可以将其配置到Tomcat安装目录下的conf\server.xml文件中,也可以将其配置到Web工程目录下的META-INF\context.xml文件中。

第九章 JSP与Ajax
9-1 什么是Ajax?简述Ajax中使用的技术。

Ajax是Asynchronous JavaScript and XML的缩写,意思是异步的JavaScript与XML。
Ajax并不是一门新的语言或技术,它是JavaScript、XML、CSS、DOM等多种已有技术的组合,可以实现客户端的异步请求操作。

9-2 如何创建一个跨浏览器的XMLHttpRequest对象?

if (window.XMLHttpRequest) { 
    						//非IE浏览器
	http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) { 
    					//IE浏览器 try { 
   
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) { 
   
		try { 
   
			http_request = new ActiveXObject("Microsoft.XMLHTTP");
	   } catch (e) { 
   }
	}
}

9-3 如何解决当发送路径的参数中包括中文时,在服务器端接收参数值时产生乱码的问题?

(1)当接收使用GET方法提交的数据时,要将编码转换为GBK或是GB2312。例如,将省份名称的编码转换为GBK的代码如下:

String selProvince=request.getParameter(“parProvince”); //获取选择的省份
selProvince=new String(selProvince.getBytes(“ISO-8859-1”),“GBK”);

(2)由于应用POST方法提交数据时,默认的字符编码是UTF-8,所以当接收使用POST方法提交的数据时,要将编码转换为UTF-8。例如,将用户名的编码转换为UTF-8的代码如下:

String username=request.getParameter(“user”); //获取用户名 username=new
String(username.getBytes(“ISO-8859-1”),“UTF-8”);

9-4 如何解决返回到responseText或responseXML的值中包含中文时产生乱码的问题?

解决的办法是保证从服务器端传递的数据采用UTF-8的编码格式。

9-5 EL表达式的基本语法是什么?如何让JSP页面忽略EL表达式?

表达式语法格式如下:

${expression}

可以通过在页面的前面加入以下语句声明是否忽略EL表达式:

<%@ page isELIgnored=“true|false” %>

在上面的语法中,如果为true,则忽略页面中的EL表达式,否则为false,则解析页面中的EL表达式。

9-6 假如存在以下代码:

<% int num=6;
request.setAttribute(“no”,num); %>

则下面的EL表达式分别打印什么结果?
在这里插入图片描述

(1)true (2)3 (3)Infinity (4)false (5)true (6)true

9-7 JSTL包括哪几种标签库?

(1)核心标签库 (2)格式标签库 (3)SQL标签 (4)XML标签库 (5)函数标签库

9-8 如何在JSP文件中引用自定义标签?

JSP文件中,可以通过下面的代码引用自定义标签:

<%@ taglib uri=“tld uri” prefix=“taglib.prefix”%>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148579.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • mysql数据库学习笔记(一)

    mysql数据库学习笔记(一)

  • 老是记不住事情是怎么回事_laogeshi

    老是记不住事情是怎么回事_laogeshi#ifdef__int64 typedef__int64LL;#else typedeflonglongLL;#endif用%I64d

  • instsrv.exe srvany.exe用法「建议收藏」

    instsrv.exe srvany.exe用法「建议收藏」nstsrv.exe——来自Windows 2000 Resource Kits的一个小工具  微软官方对该小工具的说明:Installs and uninstalls executable services and assigns names to them.显而易见,这个小工具是用以安装和卸载可执行的服务和指派服务名给这些可执行的服务的。那么怎么去使用呢?这里我们设定要将F

  • pycharm python interpreter_pycharm interpreter

    pycharm python interpreter_pycharm interpreter1,首先我们肯定要在Pycharm里建立一个新项目,有两个选项,一个建立新的虚拟的环境,一个基于已有的环境这里选择第一项。2,选择第一项之后会有两个解释器,一个虚拟的即location/venv/Scripts/python.exe,另一个需要基解释器即本地解释器/python.exe。关于第一项的解释我极力推荐此篇文章虚拟解释器的简单说明3,然后,如果在创建pycharm项目时项目解…

  • 图像处理中经常用的一幅图片Lena.jpg

    图像处理中经常用的一幅图片Lena.jpg在数字图像处理中,Lena(Lenna)是一张被广泛使用的标准图片,特别在图像压缩的算法研究中。(为什么用这幅图,是因为这图的各个频段的能量都很丰富:即有低频(光滑的皮肤),也有高频(帽子上的羽毛),很适合来验证各种算法)然而,这张图片背后的故事是颇有意思的,很多人都抱有学究都是呆子的看法,然而Lena对此就是一个有力的驳斥。lena(lenna)是一张于1972年11月…

  • switch…case结构中case后的表达式必须为常量表达式_switch case语句例子

    switch…case结构中case后的表达式必须为常量表达式_switch case语句例子问题我的switch-case语句昨天完美无缺。但是当我今天早些时候运行代码时,eclipse给了我一个错误,用红色突出显示case语句并说:case表达式必须是常量表达式,它是常量我不知道发生了什么。这是我的代码如下:publicvoidonClick(Viewsrc){switch(src.getId()){caseR.id.playbtn:checkwificonnection()…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号