1、习题一 1.答:确保Tomcat服务器使用的是Java_home环境变量设置的JDK。 2.答:属于操作题,解答略。 3.答:Web服务目录的下的目录称为该Web服务目录下的相对Web服务目录。浏览器的地址栏中键入:http://IP:8080/Web目录名字/子目录名字/JSP页面。 4.答:修改Tomcat服务器安装目录中conf文件夹中的主配置文件:server.xml,只要没有其他应用程序正在占用80,就可以将端口号设置为80。 习题二 1.答:“<%!”和“%>”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号<%!、%>所在
2、的位置无关。所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。 “<%”和“%>”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。 2.答:两次。 3.答:第一个问题的答案是允许;第二个 问题的答案是不允许。 4.答:第一个用户看到的sum的值是610,第二个用户看
3、到的sum的值是1210 5.答: <%@ page contentType="text/html;charset=GB2312" %>
<% for(char c='A';c<='Z';c++) { out.print(" "+c); } %> 6.答:include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,插入文件后,必须保证新合并成的JSP页面符合JS4、P语法规则,即能够成为一个JSP页面文件。include动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件与原JSP页面合并一个新的JSP页面,而是告诉Java解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理。如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。 7.答: main.jsp: <%@ page contentType="text/html;charset=GB2312"
5、 %>
6、tring 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%>
7、> 习题三 1.答:不可以 2.答:如果某个Web服务目录下的JSP页面准备调用一个Tag文件,那么必须在该Web服务目录下,建立目录:Web服务目录\WEB-INF\tags,其中,WEB-INF和tags都是固定的子目录名称,而tags下的子目录名字可由用户给定。一个Tag文件必须保存到tags目录或其下的子目录中。 3.答:body-content、language、import、pageEncoding 。 4.答:使用attribute指令可以动态地向该Tag文件传递对象的引用。 5.答:使用variable指令可以将Tag文件中的对象返回给调用该Tag
8、文件的JSP页面。 6.答: Lianxi6.jsp: <%@ page contentType="text/html;Charset=GB2312" %> <%@ taglib tagdir="/WEB-INF/tags" prefix="computer"%>
9、ML> Rect.tag:
10、的面积:"+area;
}
else
{ return("
"+a+","+b+"不能构成一个矩形,无法计算面积");
}
}
%>
<% out.println("
JSP页面传递过来的两条边:"+sideA+","+sideB);
double a=Double.parseDouble(sideA);
double b=Double.parseDouble(sideB);
out.println(getArea
11、a,b)); %> Circle.tag:
12、 { return("
"+r+"不能构成一个圆,无法计算面积");
}
}
%>
<% out.println("
JSP页面传递过来的半径:"+radius);
double r=Double.parseDouble(radius);
out.println(getArea(r));
%>
7.答:
one.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import ="java
13、text.*" %> <%@ taglib tagdir="/WEB-INF/tags" prefix="computer"%>
14、Value(); String str=f.format(result); out.println(str); %> two.jsp: <%@ page contentType="text/html;charset=GB2312" %> <%@ page import ="java.text.*" %> <%@ taglib tagdir="/WEB-INF/tags" prefix="computer"%>
15、 sideA="3" sideB="6" sideC="5"/>
16、@ attribute name="sideA" required="true" %> <%@ attribute name="sideB" required="true" %> <%@ attribute name="sideC" required="true" %> <%@ variable name-given="area" variable-class="java.lang.Double" scope="AT_END" %> <% double a=Double.parseDouble(sideA); double b=Double.pa
17、rseDouble(sideB); double c=Double.parseDouble(sideC); if(a+b>c&&a+c>b&&c+b>a) { double p=(a+b+c)/2.0; double result=Math.sqrt(p*(p-a)*(p-b)*(p-c)) ; jspContext.setAttribute("area",new Double(result)); } else { jspContext.setAttribut
18、e("area",new Double(-1)); } %> 8.答: linxi8.jsp: <%@ page contentType="text/html;Charset=GB2312" %> <%@ taglib tagdir="/WEB-INF/tags" prefix="ok"%>
20、 <%@ attribute name="color" %> <%@ attribute name="name" %> <%@ attribute name="phone" %> <%@ attribute name="email" %>
21、.答:(C)。 2.答:将获取的字符串用ISO-8859-1进行编码,并将编码存放到一个字节数组中,然后再将这个数组转化为字符串对象。 3.答: inputString.jsp: <%@ page contentType="text/html;charset=GB2312" %>
computer.jsp: <%@ page contentType="text/html;charset=GB2312" %>23、textContent%>的长度:<%=textContent.length()%> 4.答:实现用户的重定向。 5.答:(1) 不相同。(2)相同。(3)可能消失。(4)一定消失。 6.答: lianxi6.jsp: <%@ page contentType="text/html;charset=GB2312" %>
<% session.setAttribute("message","请您猜字母"); char a[]=new char[26]; int m=0; for(ch24、ar c='a';c<='z';c++)
{ a[m]=c;
m++;
}
int randomIndex=(int)(Math.random()*a.length);
char ch=a[randomIndex]; //获取一个英文字母
session.setAttribute("savedLetter",new Character(ch));
session.setAttribute("count",new Integer(0));
%>
访问或刷新该页面可以随机得到一个英文字母.
单击超链接
25、去猜出这个字母:去猜字母 guess.jsp: <%@ page contentType="text/html;charset=GB2312" %> <%@ taglib tagdir="/WEB-INF/tags" prefix="guess"%>
<% String str=request.getParameter("clientGuessLetter"); if(str==null) { str="*";26、 }
if(str.length()==0)
{ str="*";
}
%>
重新获得一个字母
<% }
else
{
%>
输入您的猜测:
28、age" scope="AT_END" %> <% String mess=""; Character ch=(Character)session.getAttribute("savedLetter"); char realLetter=ch.charValue(); char c=(guessLetter.trim()).charAt(0); if(c<='z'&&c>='a') { if(realLetter==c) { int n=((Integer)session.getA
29、ttribute("count")).intValue();
n=n+1;
session.setAttribute("count",new Integer(n));
mess="您猜对了,这是第"+n+"次猜测";
}
else if(realLetter 30、ion.setAttribute("count",new Integer(n));
mess="您猜大了,这是第"+n+"次猜测";
}
else if(realLetter>c)
{
int n=((Integer)session.getAttribute("count")).intValue();
n=n+1;
session.setAttribute("count",new Integer(n));
mess="您猜小了,这 31、是第"+n+"次猜测";
}
}
else
{ mess="请输入a至z之间的英文字母。";
}
jspContext.setAttribute("message",mess);
%>
习题五
1.答:不能
2.答:调用public long length()方法。
3.答:A和D。
4. 答:RandomAccessFile类既不是输入流类InputStream类的子类,也不是输出流类Outputstream类的子类。想对一个文件进行读写操作时,可以创建一个指向该文件的RandomAccessFi 32、le流,这样我们既可以从这个流中读取这个文件的数据,也可以通过这个流给这个文件写入数据。
5. 答:
input.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
34、if(s1.length()>0&&s2.length()>0)
{
%>
读取的文件内容:
<%
}
%>
Read.tag:
<%@ tag pageEncoding="GB2312" %>
<%@ tag import="java.io.*
35、" %> <%@ attribute name="dirName" required="true" %> <%@ attribute name="fileName" required="true" %> <%@ variable name-given="content" scope="AT_END" %> <% StringBuffer str=new StringBuffer(); try{ File f=new File(dirName,fileName); FileReader in=new FileReader(f
36、); BufferedReader bufferin=new BufferedReader(in); String temp; while((temp=bufferin.readLine())!=null) { str.append(temp); } bufferin.close(); in.close(); } catch(IOException e) { str.app
37、end(""+e); } jspContext.setAttribute("content",new String(str)); %> 习题六 1.答: a.jsp: <%@ page contentType="text/html;charset=GB2312" %> <%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%>
38、me="employee"/>
在<%=biao%>表查询到记录:
<%=queryResult %>
39、given="biao" scope="AT_END" %> <%@ variable name-given="queryResult" scope="AT_END" %> <% StringBuffer result; result=new StringBuffer(); try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch(Exception e) { o
40、ut.print(e); } Connection con; Statement sql; ResultSet rs; try{ result.append("
"+clumnName+" | "); } result.append("
"+rs.getString(k)+" | "); } result.append("
44、ult.append("请输入正确的用户名和密码"); } jspContext.setAttribute("queryResult",new String(result)); jspContext.setAttribute("biao",tableName); %> 2.答: b.jsp: <%@ page contentType="text/html;charset=GB2312" %> <%@ taglib tagdir="/WEB-INF/tags" prefix="add"%>
45、r=cyan>
<%=newRecord %>
AddRecord.tag:
<%@ tag pageEncoding="GB2312" %>
<%@ tag import="java.sql.*" %>
<%@ attri
46、bute name="tableName" required="true"%> <%@ attribute name="number" required="true" %> <%@ attribute name="name" required="true" %> <%@ attribute name="madeTime" required="true" %> <%@ attribute name="price" required="true" %> <%@ variable name-given="biao" scope="AT_END" %> <%@ variable name
47、given="newRecord" scope="AT_END" %> <% float p=Float.parseFloat(price); String condition= "INSERT INTO product VALUES"+ "("+"'"+number+"','"+name+"','"+madeTime+"',"+p+")"; try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } ca
48、tch(Exception e) {} Connection con; Statement sql; ResultSet rs; try{ String uri= "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Warehouse"; con=DriverManager.getConnection(uri,"sa","sa"); sql=con.createStatement(); sql.executeUpdate(cond
49、ition);
con.close();
String str=("("+"'"+number+"','"+name+"','"+madeTime+"',"+p+")");
jspContext.setAttribute("newRecord",str);
}
catch(Exception e)
{
jspContext.setAttribute("newRecord",""+e);
}
jspContext.setAttribute("biao",tableName);
%>
3.答:
c.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="reNew"%>
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818