《JSP實用教程(第三版)》課后答案_第1頁
《JSP實用教程(第三版)》課后答案_第2頁
《JSP實用教程(第三版)》課后答案_第3頁
《JSP實用教程(第三版)》課后答案_第4頁
《JSP實用教程(第三版)》課后答案_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、JSP實用教程(第三版)課后答案第1章 JSP簡介1. 安裝Tomcat引擎的計算機需要事先安裝JDK嗎?答:需要。2. 怎樣啟動和關閉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

2、文件,在</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)所在計算機的瀏覽器鍵入下列哪種方式是訪

3、問A.jsp的正確方式?A:8080/A.jsp B. :8080/Dalian/A.jspC. :8080/moon/A.jsp D. :8080/moon/sea/A.jsp答:D6如果想修改Tomcat服務器的端口號,應當修改哪個文件?能否將端口號修改為80?答:修改Tomcat服務器的conf目錄下的主配置文件server.xml可以更改端口號. 若Tomcat服務器上沒有其它占有80端口號的程序,可以將其修改為80,否則不能。15第2章 JSP語法1.<%!和

4、%>之間聲明的變量與<%和%>聲明的變量有何不同?答: <%!和%>聲明的變量為類的成員變量,其所占的內存直到Tomcat服務器關閉才釋放.<%和%>為類方法中聲明的局部變量,僅在JSP頁面后繼的程序片及表達式中有效.2. 如果有2個用戶訪問一個JSP頁面,該頁面中的Java程序片將被執(zhí)行幾次?答:2次(當有一個用戶訪問JSP頁面,JAVA程序片就被訪問一次).5. 假設有兩個不同用戶訪問下列JSP頁面hello.jsp,請問第一個訪問和第二個訪問hello.jsp頁面的用戶看到的頁面的效果有何不同?hello.jsp<% page conten

5、tType="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頁面,顯示英文字母表。<%

6、 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動作標記: 是把被包含的文件的運行結

7、果放于包含文件運行產生的結果中,這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:<% page contentT

8、ype="text/html;charset=GB2312" %><HTML><BODY bgcolor=yellow><% double r=3,a=2,b=5,c=2;%><br>加載circle.jsp計算半徑為 <%=r%>的圓的面積:<jsp:include page="circle.jsp"><jsp:param name="sideR" value="<%=r%>"/></jsp:include

9、><br>加載ladder.jsp計算上底,下底,高為<%=a%>,<%=b%>,<%=c%>的梯形面積:<jsp:include page="ladder.jsp"><jsp:param name="sideA" value="<%=a%>"/><jsp:param name="sideB" value="<%=b%>"/><jsp:param name="side

10、C" value="<%=c%>"/></jsp:include></BODY></HTML>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 "

11、;"+area;elsereturn (""+c+"傳遞的參數小于零,出現錯誤!" );%><% String sideA=request.getParameter("sideA");String sideB=request.getParameter("sideB");String sideC=request.getParameter("sideC");double a=Double.parseDouble(sideA);double b=Double.parseDoubl

12、e(sideB);double c=Double.parseDouble(sideC);%><font color=red size=4>我是被加載的文件,負責計算梯形的面積<br>給我傳遞的上底,下底,高分別是:<%=sideA%>,<%=sideB%>,<%=sideC%><br>圓形的面積:<%=getArea(a,b,c) %></font>circle.jsp:<% page contentType="text/html;charset=GB2312" %&

13、gt;<%!public String getArea(double r)if(r>0)double area=3.14*r*r;return ""+area;elsereturn (""+r+"傳遞的參數小于零,出現錯誤!請重新檢查r的數值!" );%><% String sideR=request.getParameter("sideR");double r=Double.parseDouble(sideR);%><font color=blue size=4>我是被加

14、載的文件,負責計算圓的面積<br>給我傳遞的半徑是:<%=sideR%><br>圓形的面積:<%=getArea(r) %></font>第3章 JSP 內置對象1.假設JSP使用的表單中有如下的GUI(復選框)<input type="checkbox" name="item" value="bird">鳥<input type="checkbox" name="item" value="apple&quo

15、t;>蘋果<input type="checkbox" name="item" value="cat">貓<input type="checkbox" name="item" value="moon">月亮該表單所請求的JSP可以使用內置對象request獲取該表單提交的數據,那么,下列哪些是request獲取該表單提交的值的正確語句?A. String a=request.getParameter("item");B. St

16、ring b=request.getParameter("checkbox");C. String c=request.getParameterValues("item");D. String d=request.getParameterValues("checkbox");答: C.2. 如果表單提交的信息中有漢字,接收該信息的頁面應做怎樣的處理?答:處理方法有2種:第1種:<% page contentType="text/html;Charset=GB2312" %>指令中的Charset首字母”

17、C”大寫.第2種: <% String str1=request.getParameter("number"); byte c=str1.getBytes("ISO-8859-1"); str1=new String(c);%>3.編寫兩個JSP頁面inputString.jsp和computer.jsp,用戶可以使用inputString.jsp提供的表單輸入一個字符串,并提交給computer.jsp頁面,該頁面通過內置對象獲取inputString.jsp頁面提交的字符串,計算并顯示該字符串的長度。答: inputString.jsp&

18、lt;% page contentType="text/html;Charset=GB2312" %><HTML><BODY><Font size=5>    <FORM action="computer.jsp" method=post name=form>       <BR>請輸入字符串:<INPUT type="text" name="s

19、tring" value=""></BR>       <INPUT TYPE="submit" value="提交" name="submit">       <INPUT TYPE="reset" value="重置" >   </FORM>

20、</FONT></BODY></HTML>  computer.jsp<% page contentType="text/html;Charset=GB2312" %><HTML><BODY><Font size=5>   <%  String yourString=request.getParameter("string");      

21、; %>      <P> 您輸入的字符串是:<%=yourString %></P>      <p>字符串的長度是:<%=yourString.length() %></p><a href = "inputString.jsp">return</a></FONT></BODY></HTML>4. respo

22、nse調用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的字節(jié)碼文件?答:(1)在當前Web服務目錄下建立如下目錄結構: (2)Web服務目

23、錄WEB-INFclasses (3)根據類的包名,在目錄classes下建立相應的子目錄.即: Web服務目錄WEB-INFclassesbluesky (4)將獲得的字節(jié)碼文件保存在其中.2. tom.jiafei.Circle是創(chuàng)建bean的類,下列哪個標記是正確創(chuàng)建session周期bean的標記?<jsp:useBean id="circle" class="tom.jiafei.Circle" scope="page"/><jsp:useBean id="circle" class=&

24、quot;tom.jiafei.Circle" scope="request"/><jsp:useBean id="circle" class="tom.jiafei.Circle" scope="session"/><jsp:useBean id="circle" type="tom.jiafei.Circle" scope="session"/>答: <jsp:useBean id="circle

25、" class="tom.jiafei.Circle" scope="session"/>3. 假設創(chuàng)建bean的類有一個int型的屬性number,下列哪個方法是設置該屬性值的正確方法?A. public void setNumber(int n) B. void setNumber(int n) number=n; number =n; C. public void SetNumber(int n) D. public void Setnumber(int n) number =n; number =n; 答: A.5. 編寫一個JS

26、P頁面,該頁面提供一個表單,用戶可以通過表單輸入梯形的上底,下底和高的值,并提交給本JSP頁面,該JSP頁面將計算梯形的面積之任務交給一個bean去完成。JSP頁面使用getProperty動作標記顯示梯形的面積。答:ladder.jsp:<% page pageEncoding="GBk" %><jsp:useBean id="ladder" class="pfc.Ladder" scope="page"/><HTML><BODY bgcolor=yellow>&l

27、t;Font size=3><FORM action="" Method="post" > 輸入梯形上底、下底和高: 上底:<Input type=text name="top" value=0> 下底:<Input type=text name="bottom" value=0> 高:<Input type=text name="height" value=0> <Input type=submit value="提交&qu

28、ot;></FORM><jsp:setProperty name="ladder" property="*"/> 輸入梯形上底、下底和高: 上底:<jsp:getProperty name="ladder" property="top"/>, 下底:<jsp:getProperty name="ladder" property="bottom"/>, 高:<jsp:getProperty name="lad

29、der" property="height"/>.<BR>面積是: <jsp:getProperty name="ladder" property="area"/></FONT></BODY></HTML>Ladder.java:package pfc;public class Ladderdouble top=0,bottom=0,height=0,area=-1;public double getArea() area=(top+bottom)*heigh

30、t/2; return area; public double getBottom() return bottom;public void setBottom(double bottom) this.bottom = bottom;public double getHeight() return height;public void setHeight(double height) this.height = height;public double getTop() return top;public void setTop(double top) this.top = top;6. 編寫兩

31、個JSP頁面a.jsp和b.jsp,a.jsp頁面提供一個表單,用戶可以通過表單輸入矩形的兩個邊長提交給b.jsp頁面,b.jsp調用一個bean去完成計算矩形面積的任務。b.jsp頁面使用getProperty動作標記顯示矩形的面積。答:a.jsp:<% page pageEncoding="GBk" %><jsp:useBean id="ladder" class="pfc.Ladder" scope="page"/><HTML><BODY bgcolor=yellow

32、><Font size=3><FORM action="b.jsp" Method="post" > 輸入矩形的長和寬: 長:<Input type=text name="longside" value=0> 寬:<Input type=text name="width" value=0> <Input type=submit value="提交"></FORM></FONT></BODY>&l

33、t;/HTML>b.jsp:<% page pageEncoding="GBk" %><jsp:useBean id="rectangle" class="pfc.Rectangle" scope="request"/><HTML><BODY bgcolor=yellow><Font size=3><jsp:setProperty name="rectangle" property="*"/> 矩形

34、的長和寬: 長:<jsp:getProperty name="rectangle" property="longside"/>, 寬:<jsp:getProperty name="rectangle" property="width"/>, <BR>面積是: <jsp:getProperty name="rectangle" property="area"/></FONT></BODY></HTML

35、>Rectangle.java:package pfc;public class Rectangledouble longside=0,width=0,area=-1;public double getArea() area=longside*width; return area; public double getLongside() return longside;public void setLongside(double longside) this.longside = longside;public double getWidth() return width;public

36、void setWidth(double width) this.width = width;第5章Java Servlet 基礎1. servlet對象是在服務器端還是在客戶端創(chuàng)建的?答:服務器端.2. servlet對象被創(chuàng)建后首選調用init方法還是service方法?答:init方法.3. “servlet第一次被請求加載時調用init方法,當后續(xù)的客戶請求servlet對象時, servlet對象不再調用init方法”, 這樣的說法是否正確?答:正確.4. 假設創(chuàng)建servlet的類是tom.jiafei.Dalian,創(chuàng)建的servlet對象的名字是myservlet,應當怎樣配置

37、web.xml文件?答:<?xml version=“1.0” e ncoding="ISO-8859-1"?> <web-app> <servlet> <!-創(chuàng)建一個servlet對象 -> <servlet-name>myservlet</servlet-name> <!-對象名 -> <servlet-class>tom.jiafei.Dalian</servlet-class><!-指定創(chuàng)建對象的servlet -> </servlet>

38、; <servlet-mapping> <!-為Servlet 進行 映射地址 -><!-必須與Servlet 標記中的servlet-name指定的名稱相同 -> <servlet-name>myservlet</servlet-name><!-具體的映射路徑,前面必須有一個/ -> <url-pattern>/lookHello</url-pattern> </servlet-mapping>.</web-app>5. 如果Servlet類不重寫service方法,那么應

39、當重寫哪兩個方法?答:doGet方法或doPost方法。6. HttpServletResponse類的sendRedirect方法和RequestDispatcher類的forward方法有何不同?答: javax.servlet.http .HttpServletResponse提供的方法 void sendRedirect(String location) throws IOException 客戶端跳轉.即當前頁面可用request對象獲取用戶提交參數,而目標頁面都不可用request對象獲取用戶提交參數. 轉發(fā) javax.servlet .RequestDispatche

40、r接口提供的方法 void forward(ServletRequest request, ServletResponse response) / Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file) on the server. 服務器跳轉.即當前頁面和目標頁面都可用request對象獲取用戶提交參數. 7. Servlet對象怎樣獲得用戶的會話對象?答:在doGet()或doPost()方法中使用獲取當前會話對象. HttpSession session=request.getSession(true);一個用戶在不同的Servlet中獲取的session對象是完全相同的,不同的用戶的session對象互不相同。 第6章 MVC模式1. 在JSP中,MVC模式中的數據模型之角色由誰擔當?答:由Java Bean或EJB充當.2. 在JSP中,MVC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論