JSP程序设计习题解答[1]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题一
1.运行startup.bat启动Tomcat服务器的好处是什么?
答:确保Tomcat服务器使用的是Java_home环境变量设置的JDK。
2.请在C:\下建立一个名字为book的目录,并将该目录设置成一个Web服务目录,然后编写一个简单的JSP页面,保存到该目录中,让用户使用虚拟目录red访问该JSP页面。答:属于操作题,解答略。
3.怎样访问Web服务目录子目录中的JSP页面?
答:Web服务目录的下的目录称为该Web服务目录下的相对Web服务目录。浏览器的地址栏中键入:http://IP:8080/Web目录名字/子目录名字/JSP页面。
4.如果想修改Tomcat服务器的端口号,应当修改哪个文件?能否将端口号修改为80。答:修改Tomcat服务器安装目录中conf文件夹中的主配置文件:server.xml,只要没有其他应用程序正在占用80,就可以将端口号设置为80。
习题二
1.“<%!”和“%>”之间声明的变量与“<%”和“%>”之间声明的变量有何不同?答:“<%!”和“%>”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号<%!、%>所在的位置无关。所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。
“<%”和“%>”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。
2.如果有两个用户访问一个JSP页面,该页面中的Java程序片将被执行几次?
答:两次。
3.是否允许一个JSP页面同时含有如下两条page指令:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page contentType="application/msword" %>
是否允许JSP页面同时含有如下两条指令:
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
答:第一个问题的答案是不允许;第二个问题的答案是允许。
4.假设有两个用户访问下列JSP页面hello.jsp,请问第一个访问和第二个访问hello.jsp 页面的用户所看到的页面的效果有何不同?
Hello.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page isThreadSafe="false" %>
<%! int sum=10;
void add(int m){
sum=sum+m;
}
%>
<% int n=600;
add(n);
%>
<%=sum%>
答:第一个用户看到的sum的值是610,第二个用户看到的sum的值是1210 5.请编写一个简单的JSP页面,显示大写英文字母表。
答:
<%@ page contentType="text/html;charset=GB2312" %>
<%
for(char c='A';c<='Z';c++)
{
out.print(" "+c);
}
%>
6.请简单叙述include指令标记和include动作标记的不同。
答:include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP 页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。
include动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件与原JSP页面合并一个新的JSP页面,而是告诉Java解释器,这个文件在JSP 运行时(Java文件的字节码文件被加载执行)才被处理。如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP 引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。7.编写两个JSP页面:main.jsp和lader.jsp,将两个JSP页面保存在同一Web服务目录中。main.jsp使用include动作标记动态加载lader.jsp页面。lader.jsp页面可以计算并显示梯形的面积。当lader.jsp被加载时获取main.jsp页面中include动作标记的param子标记提供的梯
形的上底、下底和高的值。
答:
main.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
lader.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%
String strA=request.getParameter("a");
String strB=request.getParameter("b");
String strH=request.getParameter("h");
double a=Double.parseDouble(strA);
double b=Double.parseDouble(strB);
double h=Double.parseDouble(strH);
double area=(a+b)*h/2;
%>
梯形面积:<%=area%>
习题三
1.用户可以使用浏览器直接访问一个Tag文件吗?
答:不可以
2.Tag文件应当存放在怎样的目录中?
答:如果某个Web服务目录下的JSP页面准备调用一个Tag文件,那么必须在该Web服务目录下,建立目录:Web服务目录\WEB-INF\tags,其中,WEB-INF和tags都是固定的子目录名称,而tags下的子目录名字可由用户给定。一个Tag文件必须保存到tags目录或其下的子目录中。
3.Tag文件中的tag指令可以设置哪些属性的值?
答:body-content、language、import、pageEncoding 。