《JSP实用教程(第三版)》课后答案_第1页
《JSP实用教程(第三版)》课后答案_第2页
《JSP实用教程(第三版)》课后答案_第3页
《JSP实用教程(第三版)》课后答案_第4页
《JSP实用教程(第三版)》课后答案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

./《JSP实用教程〔第三版》课后答案第1章JSP简介安装Tomcat引擎的计算机需要事先安装JDK吗?答:需要.怎样启动和关闭Tomcat服务器?答:bin目录下使用startup.bat启动Tomcat服务器.bin目录下使用shutdown.bat关闭Tomcat服务器.3.Boy.jsp和boy.jsp是否是相同的JSP文件名字?答:不是4.请在D:\下建立一个名字为water的目录,并将该目录设置成一个Web服务目录,然后编写一个简单JSP页面保存到该目录中,让用户使用虚拟目录fish来访问该JSP页面.答:设置方法:建立D:\water目录;修改server.xml文件,在</host>上一行添加:<Contextpath="/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.:8080/A.jspB.:8080/Dalian/A.jspC.:8080/moon/A.jspD.:8080/moon/sea/A.jsp答:D6.如果想修改Tomcat服务器的端口号,应当修改哪个文件?能否将端口号修改为80?答:修改Tomcat服务器的conf目录下的主配置文件server.xml可以更改端口号.若Tomcat服务器上没有其它占有80端口号的程序,可以将其修改为80,否则不能..第2章JSP语法1."<%!"和"%>"之间声明的变量与"<%"和"%>"声明的变量有何不同?答:"<%!"和"%>"声明的变量为类的成员变量,其所占的内存直到Tomcat服务器关闭才释放."<%"和"%>"为类方法中声明的局部变量,仅在JSP页面后继的程序片及表达式中有效.2.如果有2个用户访问一个JSP页面,该页面中的Java程序片将被执行几次?答:2次<当有一个用户访问JSP页面,JAVA程序片就被访问一次>.5.假设有两个不同用户访问下列JSP页面hello.jsp,请问第一个访问和第二个访问hello.jsp页面的用户看到的页面的效果有何不同?hello.jsp<%@pagecontentType="text/html;charset=GB2312"%><%@pageisThreadSafe="false"%><BODY><HTML><%!intsum=1;voidadd<intm>{ sum=sum+m;}%><%intn=100;add<n>;%><%=sum%></BODY></HTML>答:第一个客户看到结果是101;第二个客户看到结果是201;6.请编写一个简单的JSP页面,显示英文字母表.<%@pagecontentType="text/html;charset=GB2312"%><HTML><BODY><%for<charc='A';c<='Z';c++>{out.println<""+c>;}%></BODY></HTML>7.请简单叙述include指令标记和include动作标记的不同.答:include指令标记:是把被包含的文件的内容放于包含文件中,组成一个文件后编译运行.include动作标记:是把被包含的文件的运行结果放于包含文件运行产生的结果中,这2个文件各自编译运行.8.编写三个JSP页面:main.jsp、circle.jsp、ladder.jsp,将三个JSP页面保存在同一web服务目录中.main.jsp使用include动作标记加载circle.jsp和ladder.jsp页面.circle.jsp页面可以计算并显示圆的面积.ladder.jsp页面可以计算并显示梯形的面积.当circle.jsp和ladder.jsp被加载时获取main.jsp页面include动作标记的param子标记提供的圆的半径以及梯形的上底、下底和高的值.答:main.jsp:<%@pagecontentType="text/html;charset=GB2312"%><HTML><BODYbgcolor=yellow><%doubler=3,a=2,b=5,c=2;%><br>加载circle.jsp计算半径为<%=r%>的圆的面积:<jsp:includepage="circle.jsp"><jsp:paramname="sideR"value="<%=r%>"/></jsp:include><br>加载ladder.jsp计算上底,下底,高为<%=a%>,<%=b%>,<%=c%>的梯形面积:<jsp:includepage="ladder.jsp"><jsp:paramname="sideA"value="<%=a%>"/><jsp:paramname="sideB"value="<%=b%>"/><jsp:paramname="sideC"value="<%=c%>"/></jsp:include></BODY></HTML>ladder.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%!publicStringgetArea<doublea,doubleb,doublec>{if<a>0&&b>0&&c>0>{doublearea=<<a+b>*c>/2.0;return""+area;}else{return<""+c+"传递的参数小于零,出现错误!">;}}%><%StringsideA=request.getParameter<"sideA">;StringsideB=request.getParameter<"sideB">;StringsideC=request.getParameter<"sideC">;doublea=Double.parseDouble<sideA>;doubleb=Double.parseDouble<sideB>;doublec=Double.parseDouble<sideC>;%><fontcolor=redsize=4>我是被加载的文件,负责计算梯形的面积<br>给我传递的上底,下底,高分别是:<%=sideA%>,<%=sideB%>,<%=sideC%><br>圆形的面积:<%=getArea<a,b,c>%></font>circle.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%!publicStringgetArea<doubler>{if<r>0>{doublearea=3.14*r*r;return""+area;}else{return<""+r+"传递的参数小于零,出现错误!请重新检查r的数值!">;}}%><%StringsideR=request.getParameter<"sideR">;doubler=Double.parseDouble<sideR>;%><fontcolor=bluesize=4>我是被加载的文件,负责计算圆的面积<br>给我传递的半径是:<%=sideR%><br>圆形的面积:<%=getArea<r>%></font>第3章JSP内置对象1.假设JSP使用的表单中有如下的GUI<复选框><inputtype="checkbox"name="item"value="bird">鸟<inputtype="checkbox"name="item"value="apple">苹果<inputtype="checkbox"name="item"value="cat">猫<inputtype="checkbox"name="item"value="moon">月亮该表单所请求的JSP可以使用内置对象request获取该表单提交的数据,那么,下列哪些是request获取该表单提交的值的正确语句?A.Stringa=request.getParameter<"item">;B.Stringb=request.getParameter<"checkbox">;C.Stringc[]=request.getParameterValues<"item">;D.Stringd[]=request.getParameterValues<"checkbox">;答:C.2.如果表单提交的信息中有汉字,接收该信息的页面应做怎样的处理?答:处理方法有2种:

第1种:<%@pagecontentType="text/html;Charset=GB2312"%>指令中的Charset首字母"C"大写.第2种:<%Stringstr1=request.getParameter<"number">;bytec[]=str1.getBytes<"ISO-8859-1">;str1=newString<c>;%>3.编写两个JSP页面inputString.jsp和computer.jsp,用户可以使用inputString.jsp提供的表单输入一个字符串,并提交给computer.jsp页面,该页面通过内置对象获取inputString.jsp页面提交的字符串,计算并显示该字符串的长度.答:inputString.jsp<%@pagecontentType="text/html;Charset=GB2312"%>

<HTML><BODY><Fontsize=5>

<FORMaction="computer.jsp"method=postname=form>

<BR>请输入字符串:<INPUTtype="text"name="string"value=""></BR>

<INPUTTYPE="submit"value="提交"name="submit">

<INPUTTYPE="reset"value="重置">

</FORM>

</FONT></BODY></HTML>computer.jsp<%@pagecontentType="text/html;Charset=GB2312"%>

<HTML><BODY><Fontsize=5>

<%

StringyourString=request.getParameter<"string">;

%>

<P>您输入的字符串是:<%=yourString%></P>

<p>字符串的长度是:<%=yourString.length<>%></p>

<ahref="inputString.jsp">return</a>

</FONT></BODY></HTML>4.response调用sendRedirect<URL:url>方法的作用是什么?答:从一个页面跳转到sendRedirect<URL:url>中url指定的页面,并且这种跳转是客户端跳转.5.略6.一个用户在不同Web服务目录中的session对象相同吗?答:不相同.7.一个用户在同一Web服务目录的不同子目录的session对象相同吗?答:相同.第4章JSP与Javabean1.假设Web服务目录mymoon中的JSP页面要使用一个bean,该bean的包名为blue.sky.请说明,应当怎样保存bean的字节码文件?答:<1>在当前Web服务目录下建立如下目录结构:<2>Web服务目录\WEB-INF\classes<3>根据类的包名,在目录classes下建立相应的子目录.即:Web服务目录\WEB-INF\classes\blue\sky<4>将获得的字节码文件保存在其中.2.tom.jiafei.Circle是创建bean的类,下列哪个标记是正确创建session周期bean的标记?<jsp:useBeanid="circle"class="tom.jiafei.Circle"scope="page"/><jsp:useBeanid="circle"class="tom.jiafei.Circle"scope="request"/><jsp:useBeanid="circle"class="tom.jiafei.Circle"scope="session"/><jsp:useBeanid="circle"type="tom.jiafei.Circle"scope="session"/>答:<jsp:useBeanid="circle"class="tom.jiafei.Circle"scope="session"/>3.假设创建bean的类有一个int型的属性number,下列哪个方法是设置该属性值的正确方法?A.publicvoidsetNumber<intn>B.voidsetNumber<intn>{number=n;{number=n;}}C.publicvoidSetNumber<intn>D.publicvoidSetnumber<intn>{number=n;{number=n;}}答:A.5.编写一个JSP页面,该页面提供一个表单,用户可以通过表单输入梯形的上底,下底和高的值,并提交给本JSP页面,该JSP页面将计算梯形的面积之任务交给一个bean去完成.JSP页面使用getProperty动作标记显示梯形的面积.答:ladder.jsp:<%@pagepageEncoding="GBk"%><jsp:useBeanid="ladder"class="pfc.Ladder"scope="page"/><HTML><BODYbgcolor=yellow><Fontsize=3><FORMaction=""Method="post">输入梯形上底、下底和高:上底:<Inputtype=textname="top"value=0>下底:<Inputtype=textname="bottom"value=0>高:<Inputtype=textname="height"value=0><Inputtype=submitvalue="提交"></FORM><jsp:setPropertyname="ladder"property="*"/>输入梯形上底、下底和高:上底:<jsp:getPropertyname="ladder"property="top"/>,下底:<jsp:getPropertyname="ladder"property="bottom"/>,高:<jsp:getPropertyname="ladder"property="height"/>.<BR>面积是:<jsp:getPropertyname="ladder"property="area"/></FONT></BODY></HTML>Ladder.java:packagepfc;publicclassLadder{doubletop=0,bottom=0,height=0,area=-1;publicdoublegetArea<>{area=<top+bottom>*height/2;returnarea;}publicdoublegetBottom<>{ returnbottom;}publicvoidsetBottom<doublebottom>{ this.bottom=bottom;}publicdoublegetHeight<>{ returnheight;}publicvoidsetHeight<doubleheight>{ this.height=height;}publicdoublegetTop<>{ returntop;}publicvoidsetTop<doubletop>{ this.top=top;}}6.编写两个JSP页面a.jsp和b.jsp,a.jsp页面提供一个表单,用户可以通过表单输入矩形的两个边长提交给b.jsp页面,b.jsp调用一个bean去完成计算矩形面积的任务.b.jsp页面使用getProperty动作标记显示矩形的面积.答:a.jsp:<%@pagepageEncoding="GBk"%><jsp:useBeanid="ladder"class="pfc.Ladder"scope="page"/><HTML><BODYbgcolor=yellow><Fontsize=3><FORMaction="b.jsp"Method="post">输入矩形的长和宽:长:<Inputtype=textname="longside"value=0>宽:<Inputtype=textname="width"value=0><Inputtype=submitvalue="提交"></FORM></FONT></BODY></HTML>b.jsp:<%@pagepageEncoding="GBk"%><jsp:useBeanid="rectangle"class="pfc.Rectangle"scope="request"/><HTML><BODYbgcolor=yellow><Fontsize=3><jsp:setPropertyname="rectangle"property="*"/>矩形的长和宽:长:<jsp:getPropertyname="rectangle"property="longside"/>,宽:<jsp:getPropertyname="rectangle"property="width"/>,<BR>面积是:<jsp:getPropertyname="rectangle"property="area"/></FONT></BODY></HTML>Rectangle.java:packagepfc;publicclassRectangle{doublelongside=0,width=0,area=-1;publicdoublegetArea<>{area=longside*width;returnarea;}publicdoublegetLongside<>{ returnlongside;}publicvoidsetLongside<doublelongside>{ this.longside=longside;}publicdoublegetWidth<>{ returnwidth;}publicvoidsetWidth<doublewidth>{ this.width=width;}}第5章JavaServlet基础servlet对象是在服务器端还是在客户端创建的?答:服务器端.servlet对象被创建后首选调用init方法还是service方法?答:init方法."servlet第一次被请求加载时调用init方法,当后续的客户请求servlet对象时,servlet对象不再调用init方法",这样的说法是否正确?答:正确.假设创建servlet的类是tom.jiafei.Dalian,创建的servlet对象的名字是myservlet,应当怎样配置web.xml文件?答:<?xmlversion="1.0"encoding="ISO-8859-1"?><web-app><servlet><!--创建一个servlet对象--><servlet-name>myservlet</servlet-name><!--对象名--><servlet-class>tom.jiafei.Dalian</servlet-class><!--指定创建对象的servlet--></servlet><servlet-mapping><!--为Servlet进行映射地址--><!--必须与Servlet标记中的servlet-name指定的名称相同--><servlet-name>myservlet</servlet-name><!--具体的映射路径,前面必须有一个/--><url-pattern>/lookHello</url-pattern></servlet-mapping>…..</web-app>如果Servlet类不重写service方法,那么应当重写哪两个方法?答:doGet方法或doPost方法.6.HttpServletResponse类的sendRedirect方法和RequestDispatcher类的forward方法有何不同?答:javax.servlet.http.HttpServletResponse提供的方法voidsendRedirect<String

location>throwsIOException客户端跳转.即当前页面可用request对象获取用户提交参数,而目标页面都不可用request对象获取用户提交参数.转发javax.servlet.RequestDispatcher接口提供的方法voidforward<ServletRequest

request,ServletResponse

response>//Forwardsarequestfromaservlettoanotherresource<servlet,JSPfile,orHTMLfile>ontheserver.服务器跳转.即当前页面和目标页面都可用request对象获取用户提交参数.7.Servlet对象怎样获得用户的会话对象?答:在doGet<>或doPost<>方法中使用获取当前会话对象.HttpSessionsession=request.getSession<true>;一个用户在不同的Servlet中获取的session对象是完全相同的,不同的用户的session对象互不相同.第6章MVC模式在JSP中,MVC模式中的数据模型之角色由谁担当?答:由JavaBean或EJB充当.在JSP中,MVC模式中的控制器之角色由谁担当?答:一个或多个Servlet对象充当.在JSP中,MVC模式中的视图之角色由谁担当?答:由一个或多个JSP页面或HTML页面充当.MVC的好处是什么?答:MVC模式的核心思想是有效地组合"视图"、"模型"和"控制器".在JSP技术中,视图是一个或多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论