JSP实用教材复习资料
第一章
1.为进行JSP开发,安装JDK后应该进行那些设置? 答:设置path环境变量为:java_home\\bin;
Classpath为:java_home\\jre\\lib\\rt.jar;.; Java_home为:D:\\java
2.运行startup.bat文件启动Tomcat服务器的好处是什么?
答:使用startup.bat启动Tomcat服务,以确保Tomact服务器使用的JDK是java_home设置的JDK。
使用startup.bat启动Tomcat服务,会占用一个MS-DOS窗口,如果关闭窗口将关闭Tomcat服务。
3.Hello.jsp和hello.jsp是否是相同的jsp文件名? 答:不是
4.请在C:\\下建立一个名字为Game的目录,并将该目录设置为一个Web服务器目录,然后编写一个简单的JSP页面,保存到该目录中,让用户使用虚拟目录moon访问该JSP页面。
答:作为一个实验题。
修改Tomcat服务器安装目录下conf目录中的server.xml文件来设置新的Web服务目录。 在前加入:
?
? 经这样设置,就可以将我们实际运行的jsp文件如A.jsp实际放在C:Game中,而
在流览其中使用moon目录:
? 如:http://127.0.0.1:8090/moon/A.jsp
5.怎样访问Web服务器子目录中的JSP页面? 答:根目录: D:\\Tomcat_home\\webapps下
webapps下的任何一个子目录都可以作为一个Web服务目录 ,如将jsp页面如A.jsp放在jsp-examples中; 则访问方式为:
http://127.0.0.1:8090/jsp-examples/A.jsp
或者将jsp页面A.jsp放在webapps\\Root\\目录中。 访问地址为: http://127.0.0.1:8090/A.jsp
6.如果想修改Tomcat服务器的端口号,应该修改那个文件?能否将端口号修改为80,条件是什么?
答:修改Tomcat服务器的conf目录下的主配置文件server.xml可以更改端口号. 关于改变端口号:可以将同一文件中的:
? minSpareThreads=“25” maxSpareThreads=“75” enableLookups=“fase” redirectPort=“8443” acceptCount=“100” connectionTimeout=“20000” disableUploadTimeout=“true”/> ? 将8080改为你设置的端口号 ? 可以将端口号改为80,其条件是Tomcat所在的计算机没有启动其他占用端口号80 的网络程序。 7.写出一个完整的创建表格的SQL语句。 - 1 - create table score ( 学号 VARCHAR2(32) not null, 姓名 VARCHAR2(32), 数学成绩 NUMBER(6), 物理成绩 NUMBER(6), 英语成绩 NUMBER(6) ); alter table score add constraint SCORE_PK primary key (学号); !8.英文缩写字SQL中文含义是什么? 答:结构,查询,语言。 第二章 1填空.“<%! ”和“ %>”之间声明的变量与.“<% ”和“ %>”之间声明的变量有什么不同? 答: .“<%! ”和“ %>”之间声明的变量是JSP页面的全局变量, .“<% ”和“ %>”之间声明的变量是局限于某个java程序片的局部变量。 2填空.如果有两个用户访问同一个jsp页面,该页面中的java程序片将执行几次? 答:每个用户产生一个线程,java程序片将执行2次。 ? 3.应用 假设有两个用户访问下列jsp页面test.jsp,第一个用户和第二个用户访问 test.jsp页面,用户看到的页面效果有何不同? ? Test.jsp ? <%@page contentType=\?
? <%! String str=new String(\你好 \? synchronized void f(String s) ? {
? str=str+s; ? }%> ? <%
? String s=\? f(s); ? %>
? <%= str%>
?
? 答:第一个用户为“你好 abcd” ? 第二个用户为“你好 abcd abcd”
? 5.请写两个jsp页面a.jsp和b.jsp,其中a.jsp使用表单提交数据给b.jsp页面。要求
a.jsp通过text方式提交一个字符串给b.jsp,并使用表达式显示这个字符串,及其长度。
? <%@ page contentType=\?
?<%@ page contentType=\
<% String s1=request.getParameter(\out.println(\您输入的字符串是:\
out.println(\字符串长度是\ %>
6.不考请JSP页面inputNumber.jsp和getNumbe.jsp,页面inputNumber.jsp使用表单提交数据给getNumbe.jsp,要求getNumber.jsp将inputNumber .jsp提供的数据平方,立方后显示。getNumber.jsp中部分java程序片如下:
? <%@ page contentType=\?
?
?
? <%@ page contentType=\?
? <% String s1=request.getParameter(\? out.println(\您输入的数字是:\ ? ? try{
? double d=Double.parseDouble(s1); ? out.println(d*d);
? out.println(\? ? }
? catch(NumberFormatException exp){ ? out.println(\? } ? %>
?
7.填空声明一个JSP变量的JSP标记为__________
<%! %>
8!.一个JSP页面可有__________,_________,
? ____________, ________________, 和______________五种元素组成
1) HTML 标记;2)JSP标记 ;3)JSP成员变量和方法; 4)Java程序片段;5) Java
表达式。
- 3 -
9!.播放多媒体文件的基本格式______________________________________________________________.
第三章
? 1.JSP页面使用page指令可以为属性contentType指定几个值? 答:只能指定一个值。
? 2.JSP页面使用page指令可以为属性import指定多个值吗? 答:可以。
? 简答!3.include指令标记和 include动作标记有何不同?
答:指令标记,是JSP页面运行前,在编译时就处理有关文件,优点执行速度快, 动作标记,是在JSP页面执行的时候才处理有关页面,优点更灵活。
? 4. param 动作标记经常作为那些标记的子标记,有何作用?
答:经常当作include,和forward标记的子标记,作用是向这些标记传输或加载必要的值。
5. tag文件应该存放到怎样的目录中?
答:应该存放到:Web服务器目录\\WEB-INF\\tags目录中,其中\\WEB-INF\\tags是固定的子目录名称,而tags目录下的子目录由用户自己定。
? 6. 用户可以使用浏览器直接访问一个tag文件吗? 答:不能。
7.JSP页面如何调用一个Tag文件?
答:首先每一个tag文件对应一个自定义的标记。其格式如:
JSP文件是通过使用该自定义的标记来调用相应的Tag文件。
关于标记体的使用:tag文件可以通过body-content属性的值来决定
其值如果为:empty则JSP必须使用没有标记体的方式
如果为:tagdependent或scriptless则JSP可通过有或无标记体的方式调用tag文件。如属性为scriptless则标记体中不可以有java程序片段。
如果属性为tagdependent那么标记体中的内容按纯文本处理。 在Tag文件中
? 8.编写两个tag文件Rect.tag和Circle.tag,分别负责计算矩形和圆的面积。编写一个
jsp页面getArea.jsp使用Tag标记调用Rect.tag和Circle.tag。调用Rect.tag时传递两个边的的长度,调用Circle.tag时向其传递半径。 ? 文件getArea.jsp
? <%@ page contentType=\? <%@ taglib tagdir=\? <%@ taglib tagdir=\?
?
以下是调用Tag文件计算矩形面积:
?- 4 -
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
以下是调用Tag文件计算圆的面积:
文件Rect.tag
这是一个Tab文件,负责计算矩形形的面积: <%@ attribute name=\<%@ attribute name=\ <%! public String getArea(double a,double b) {
double area=a*b ;
return \矩形的面积:\ } %>
<% out.println(\页面传递过来的两边:\ double a=Double.parseDouble(sideA); double b=Double.parseDouble(sideB);
out.println(getArea(a,b)); %>
? 文件Circle.tag
?
这是一个Tab文件,负责计算园形形的面积: ? <%@ attribute name=\
? ? ? ? ? ? ? ? ? ? ? ?
<%! public String getArea(double a) {
double area_c=3.14*a*a ;
return \园的面积:\ } %>
<% out.println(\页面传递过来的半径:\ double a=Double.parseDouble(rr);
out.println(getArea(a)); %>
第四章
1.request对象经常使用getParameter(String s)方法获取请求中那部分信息? 答:获取用户提交的,表单信息。
? 2.如果表单提交的信息中有汉字,接收信息的页面应做怎样的处理?
当使用request对象获取请求中含有汉字信息时,可能出现乱码。可使用两种方法避免。 一。使用page指令,指定contentType属性的值时指定如下: <%@page contentType=“text/html; Charset=GB2312” %> 注意:将Charset首字母大写
? 二。使用page指令,指定contentType属性的值时指定如下: ? <%@page contentType=“text/html; charset=GB2312” %>
- 5 -