《JSP第三版》课后答案
第 1 章 JSP
1. 安装 Tomcat引擎的计算机需要事先安装 JDK 吗?
答:需要
2. 怎样启动和关闭 Tomcat服务器 ?
答:bin 目录下使用 startup.bat启动 Tomcat服务器。bin 目录下使用 shutdown.bat关闭 Tomcat服务
3. Boy.jsp和 boy.jsp是否是相同的 JSP 文件名字?答:
答:不是
4. 请在 下建立一个名字为 water 的目录,并将该目录设置成一个 Web 服务
目录,然后编写一个简单 JSP 页面保存到该目录中,让用户使用虚拟目录 fish
来访问该 JSP页面。
答:设置方法 :
① 建立 D:\ water 目录;
② 修改 server.xml 文件,在</ host> 上一行添加 :
< Context path = " /fish" docBase = " D:\ water" debug = " 0" reloadable = " true" />
③ 使用 http://localhost:8080/ fish /example1_1.jsp访问 example1_1.jsp页面.
5. 假设 Dalian 是一个 Web 服务目录,其虚拟目录为 moon。A.jsp 保存在 Dalian的子目录 sea中。那么在 Tomcat服务器(端口号 8080)所在计算机的浏览器键入下列哪种方式是访问 A.jsp 的正确方式?
A.http://127.0.0.1:8080/A.jsp
B. http://127.0.0.1:8080/Dalian/A.jsp
C. http://127.0.0.1:8080/moon/A.jsp
D. http://127.0.0.1:8080/moon/sea/A.jsp
答:D
6.如果想修改 Tomcat 服务器的端口号,应当修改哪个文件?能否将端口号修改为 80?
答:修改 Tomcat服务器的 conf 目录下的主配置文件 server.xml 可以更改端口号
若 Tomcat 服务器上没有其它占有 80 端口号的程序,可以将其修改为 80,否则不
第 2 章 JSP
1. "< %! "和" %> "之间声明的变量与" < %"和" %> "声明的变量有何不同 ?
答:
"< %! "和" %> "声明的变量为类的成员变量 , 其所占的内存直到 Tomcat 服务器关闭才释放
"< %"和" %> "为类方法中声明的局部变量 , 仅在 JSP页面后继的程序片及表达
式中有效 .
2. 如果有 2 个用户访问一个 JSP页面, 该页面中的 Java 程序片将被执行几次 ?
答:2 次( 当有一个用户访问 JSP页面,JAVA 程序片就被访问一次 ).
假设有两个不同用户访问下列 JSP页面 hello.jsp, 请问第一个访问和第二个访问 hello.jsp 页面的用户看到的页面的效果有何不同 ?
hello. jsp
< % @ page contentType= "text/html;charset=GB2312" % >
< % @ page isThreadSafe= "false" % >
< BODY> < HTML>
< % ! int sum= 1 ;
void add ( int m) {
sum = sum + m; }
% >
< % int n = 100 ;
add ( n) ;
% >
< %= sum% >
< / BODY> < / HTML>
答: 第一个客户看到结果是 101 ;
第二个客户看到结果是 201 ;
6. 请编写一个简单的 JSP页面,显示英文字母表。
< % @ page contentType= "text/html;charset=GB2312" % >
< HTML> < BODY>
< %
for ( char c= 'A' ; c<= 'Z' ; c++ )
{
out. println ( " " + c) ;
}
% >
< / BODY> < / HTML>
7. 请简单叙述 include指令标记和 include动作标记的不同 .
答:
include指令标记 :
是把被包含的文件的内容放于包含文件中 ,组成一个文件后编译运行.
include 动作标记 :
是把被包含的文件的运行结果放于包含文件运行产生的结果中,这 2 个文件各自编译运行 .
编写三个 JSP页面 :main.jsp、circle.jsp、ladder.jsp,将三个 JSP页面保存同一 web服务目录中。main.jsp使用 include动作标记加载 circle.jsp和 ladder页面。 circle.jsp页面可以计算并显示圆的面积。 ladder.jsp页面可以计算并显示梯形的面积。当 circle.jsp和 ladder.jsp被加载时获取 main.jsp 页面 include动标记的 param 子标记提供的圆的半径以及梯形的上底、下底和高的值。
ladder. jsp:
< % @ page contentType= "text/html;charset=GB2312" % >
< % ! public String getArea ( double a, double b, double c)
{
if ( a> 0 && b> 0 && c> 0 ) {
double area= ( ( a+ b) * c) / 2.0 ;
return "" + area;
}
else
return ( "" + c+ " 传递的参数小于零,出现错误! " ) ; }
}
% >
< % String sideA= request. getParameter ( "sideA" ) ;
String sideB= request. getParameter ( "sideB" ) ;
String sideC= request. getParameter ( "sideC" ) ;
double a= Double. parseDouble ( sideA) ;
double b= Double. parseDouble ( sideB) ;
double c= Double. parseDouble ( sideC) ;
% >
< font color= red size= 4 >
我是被加载的文件,负责计算梯形的面积 < br>
给我传递的上底,下底,高分别是 : < %= sideA% > , < %= sideB% > , < %= sideC% > < br> 圆形的面积 : < %= getArea ( a