java web的知識點總結

        大笑因爲java WEB 快考試了,所以今天粗劣的做了一份java web的考點總結:

              (試卷是網上找的!自己把試卷翻書做了一遍。)

 

一、 選擇題

1. 表單中的數據要提交到的處理文件由表單的( A )屬性指定。

A.method     B. name    C. action    D. 以上都不對 

2. 要運行JSP程序,下列說法不正確的是( B )

A. 服務器端需要安裝Servlet容器,如Tomcat等。

B. 客戶端需要安裝Servlet容器,如Tomcat等。

C. 服務器端需要安裝JDK。

D. 客戶端需要安裝瀏覽器,如IE等。

3. 當發佈Web應用程序時,通常把Web應用程序的目錄及文件放到Tomcat的(  C)目錄下。

A.work     B. temp    C. webapps    D. conf 

4. 下面有關HTTP協議的說法不正確的是( D )

A. HTTP協議是Web應用所使用的主要協議

B. HTTP協議是一種超文本傳輸協議(Hypertext Transfer Protocol),是基於請求/響應模式的

C. HTTP是無狀態協議

D. HTTP的請求和響應消息如果沒有發送並傳遞成功的話,HTTP可以保存已傳遞的信息

5. 下面有關Servlet的描述錯誤的是(C  )。

A. 一個Servlet就是Java中的一個類

B. Servlet是位於Web 服務器內部的服務器端的Java應用程序

C. Servlet可以由客戶端的瀏覽器解釋執行

D. 加載Servlet的Web服務器必須包含支持Servlet的Java虛擬機    

6. 下面不屬於JSP指令的是:( B )

A. include   B. import    C. page    D. taglib

7. ( B )動作用於轉向另一個頁面。

A. next         B. forward         C. include           D. param

8. 在項目中已經建立了一個JavaBean,該類爲:bean.Student,該bean具有name屬性,則下面標籤用法正確的是:( C )

A.<jsp:useBean id="student" class="Student" scope="session">

</jsp:useBean>

B.<jsp:useBean id="student" class="Student" scope="session">

</jsp:useBean>

C.<jsp:useBean id="student" class="bean.Student" scope="session">

</jsp:useBean>

D.<jsp:getProperty name="name" property="student"/>

9. 下列選項中,(  B)可以準確地獲取請求頁面的一個文本框的輸入(文本框的名稱爲name)。

A. request.getParameter(name) 

B. request.getParameter(”name”) 

C. request.getParameterValues(name)

D. request.getParameterValues(“name”)

10. 使用response對象進行重定向時,使用的方法是( C )。

A. getAttribute    B. setContentType   

 C. sendRedirect     D. setAttribute

11. session對象中用於設定指定名字的屬性值,並且把它存儲在session對象中的方法是( A )。

A. setAttribute    B. getAttributeNames  

C. getValue      D. getAttribute

12. 在application對象中用(B  )方法可以獲得application對象中的所有變量名。

A. getServerInfo     B. nextElements()  

C. removeAttribute   D. getRealPath

13. 有關struts 2的說法不正確的是( B )

A. Struts是一個用於簡化MVC框架(Framework)開發的Web應用框架

B. 應用Struts 2不需要進行配置

C. Struts 2 含有豐富的標籤

D. Struts2採用了WebWork的核心技術

14. Web應用的數據共享方式不包括( C )。

A.基於請求的共享   B.基於會話的共享

C.基於頁面的共享   D.基於應用的共享

15. 要在頁面上輸出2+3=${2+3},則對應的程序代碼應爲(A  )。

A. 2+3=\${2+3}

B. 2+3=${2+3}    

C. 2+3=/${2+3}    

D. 以上都不對 

16. 下面有關EL中“.“和“[ ]“兩種存取運算符的說法不正確的是( C  )

A. 兩者在某些情況下是等效的

B. “[ ]“運算符主要用來訪問數組、列表或其他集合

C. 如果要動態取值時,兩者都可以實現

D. 當要存取的屬性名稱中包含一些特殊字符,如.或?等並非字母或數字的符號,就一定要使用“[ ]“ 

17. 要使用JSTL的核心標籤庫,需要在JSP源文件的首部加入如下聲明語句( A )

A. <%@ taglib prefix="c" 

uri="http://java.sun.com/jsp/jstl/core" %>

B. <%@ taglib prefix=”x” 

uri=”http://java.sun.com/jsp/jstl/xml”%>

C. <%@ taglib prefix=”fmt” 

uri=”http://java.sun.com/jsp/jstl/fmt”%>

D. <%@ taglib prefix=”sql”

uri=”http://java.sun.com/jsp/jstl/sql”%>

18. 以下(  B)標籤用於實現循環功能,類似與Java語句中的for循環。

A.  <c:set>           B. <c:forEach>  

B.  <c:Tokens>        D. <c:import> 

19. 以下URL中語法不正確的是(  D )

A.http://www.bta.net.cn:80/software/home.html

B.telnet://bdysseu.bbb.com:70

C.ftp://ftp.btbu.edu.cn

D.www0.btbu.edu.cn 

20. page指令用於定義JSP文件中的全局屬性,下列關於該指令用法的描述不正確的是:( D )

A. <%@ page %>作用於整個JSP頁面。  

B. 可以在一個頁面中使用多個<%@ page %>指令。

C. 爲增強程序的可讀性,建議將<%@ page %>指令放在JSP文件的開頭,但不是必須的。

D. <%@ page %>指令中的屬性只能出現一次。

第二題:填空。

1. 在編寫Servlet時,需要繼承       HttpServlet       類,在Servlet中聲明doGet()和doPost()需要       HttpServletRequest      和       HttpServletResponse       類型的兩個參數。

2. jsp主要內置對象有:     application        、exception、 pageContext、cookie  request 、     response            、____session_     __、out、config、page。

3. 使用useBean動作標記的時候scope屬性有4種選項,作用範圍由小到大是______page___、___request______、___session______、_____application____,其中____session_____是指當關閉瀏覽器的時候這個javabean失效, ____ _application____是指當關閉服務器的時候這個javabean失效。

4. 三種常用的動態網頁技術是_____asp____、____jsp_____、___php______,簡稱3P技術。

5. JSP利用JDBC操作數據庫的步驟:(1)加載驅動程序,調用____forName()_______將自動加載驅動程序類;(2)建立連接,若連接字符串爲:

String url = "jdbc:mysql://localhost/" + dbName +"?user=" +userName

 +"&password=" +userPwd,其中dbName、userName和userPwd 3個分別代表     數據庫名   、數據庫的    用戶名    和    密碼      ,(3)建立StateMent;(4) 、執行sql語句,其中,查詢數據庫裏的表內容是Statement接口使用__ _execute_________方法;(5)關閉數據庫。

三簡答題。

1. Tomcat服務器的默認端口是多少?怎樣修改tomcat的端口

答:Tomcat服務器的默認端口是8080;在tomcat下的\conf\server.xml中的Connector元素裏的<Connector port=”8080”.....>8080改成你想要的端口即可。

2什麼是cookie? cookie有什麼作用?。

答:Cookie 是一小段文本信息,伴隨着用戶請求和頁面在 Web 服務器和瀏覽器之間傳遞。用戶每次訪問站點時,Web 應用程序都可以讀取 Cookie 包含的信息

Cookie 爲 Web 應用程序保存用戶相關信息提供了一種有用的方法。例如,當用戶訪問您的站點時,您可以利用 Cookie 保存用戶首選項或其他信息,這樣,當用戶下次再訪問您的站點時,應用程序就可以檢索以前保存的信息。

3. 簡述JSP中動態include與靜態include的區別?

答:動態INCLUDEjsp:include動作實現,<jsp:include page="included.jsp" flush="true" /> 它總是會檢查所含文件中的變化,適合用於包含動態頁面,並且可以帶參數;

靜態INCLUDEinclude僞碼實現。定不會檢查所含文件的變化,適用於包含靜態頁面。

<% @ include file="included.htm" %>

4. 簡述表單中POST和GET的區別。

答:

GET方法

資源類型 :主動的或被動的 

數據類型 :文本 

數據量 :最多255個字符。儘管HTTP協議並沒有限制查詢串的長度,某些瀏覽器和web服務器可能不能處理超過255個字符的數據。 

可見性 :數據是URL的一部分,在瀏覽器的URL地址欄中用戶可見。 

緩存 :數據可以在瀏覽器的URL歷史中緩存。

POST方法

目標資源類型 :主動的

數據類型 :文本或二進制數據  

數據量 :沒有限制 。 

可見性 :數據不是URL的一部分而是作爲請求的消息體發送,因此在瀏覽器的URL地址欄中對用戶不可見。 。 

緩存 :數據不能在瀏覽器的URL歷史中緩存。

5、MVC中的M、V、C各指的是什麼?請述其各自的作用。

答:MModel(模型),j2ee開發中扮演數據封裝相關的角色(像javabean

VView(視圖)j2ee開發中扮演數據顯示相關的角色(像jsp,html文件)

CController(控制器)j2ee開發中扮演數據控制相關的角色(像ServletAction等)

6、列舉JSP的主要優點。

答:提高代碼的可複用性、將HTML代碼進行分離、程序利於開發維護。

7、簡稱JSP的執行過程。

答:首先,由客戶端瀏覽器向Web服務器提出訪問JSP頁面的請求(Request,然後

JSP引擎負責將JSP轉換成Servlet,產生的servlet經過編譯後生成類文件,然後再把類文件加載到內存執行。最後,由Web服務器將執行結果即(Response)給客戶端瀏覽器。

8、JSP的動作標籤有哪幾個?

答:1jsp:incclude 在當前頁面中包含另一個頁面的輸出;

2jsp:forward  將請求轉發到指定的頁面;

3jsp:useBean 查找或創建一個javaBeans對象;

4jspsetProperty  設置javaBeans對象的屬性值;

5jspgetProperty  返回javaBeans對象的屬性值;

6jspplugin  JSP頁面中嵌入一個插件。

9、<jsp:forward>response.sendRedirect()實現頁面轉向有什麼區別?

答:<jsp:forword>轉向只在服務器端進行,不顯示地址。

response.sendRedirect()重新發送請求,會顯示地址。

10、簡述Servlet的生命週期?

答:servlet有良好的生存期定義,包括加載和實例化、初始化、處理請求以及服務結束。

Web容器加載servlet,生命週期開始,通過調用servletinit()方法進行servlet的初始化

。通過調用service()方法實現,根據請求的不調用不同doXX()方法。結束服務,web容器調用servletdestroy()方法。

11、較JSP而言,Servlet有什麼優點,有什麼缺點?

答:優點是響應客戶端的請求,根據請求動態響應,最大的優點做爲一個服務,控制程序的流向,過濾等。mvc中,控制就是servlet

缺點:Servlet在表示邏輯上對於視圖的表示相對於JSP麻煩太多,在負責顯示工作完成並生成頁面上,JSP更優。

12、簡述採用JDBC訪問數據庫的步驟。

答:1、加載對應數據庫驅動,一般用反射Class.forName(String driverName);
2、創建連接通過DriverManager.getConnection(url,userName,passwd);
3、獲取statement對象,通過statement對象執行sql語句;
4、如果是查詢則返回結果集,貯存於ResultSet
5、如果關閉事物自動提交要提交事物;
6、最後,關閉所有連接,自裏往外關閉。

四、編程題

第一題:

第一個Servlet1文件,讀取一個請求參數test(字符串),存放在請求範圍內,然後把請求轉發給

第二個Servlet2.。第二個Servlet2文件(urloutput),向客戶輸出Servlet1的結果。根據註釋補充下列代碼。(15分)

public class Servlet1 extends HttpServlet {

  public void service(ServletRequest request,ServletResponse response)

throws ServletException, IOException {

response.setContentType=(text/html;charset=gbk);

PrintWriter out=response.getWriter();

//讀取請求參數

  __String test=request.getParameter("test");______ ;(3)

//request對象中添加 test屬性

__request.setAttribute("test", test);___(3)

/*把請求轉發給Servlet2 */

RequestDispatcher dispatcher = 

request.getRequestDispatcher("/output");_____

__dispatcher.forward(request, response);__  (4)

  }

}

public class Servlet2 extends HttpServlet {

  public void service(ServletRequest request,ServletResponse response)

throws ServletException, IOException {

response.setContentType=(text/html;charset=gbk);

PrintWriter out=response.getWriter();

  //讀取請求範圍內Servlet1test

  __String temp=request.getParameter("test");____(3)

  //向客戶端輸出test

   __out.println("<h1>"+temp+"</h1>");____(2)

  }

}

2、第二題:

1、編寫一個簡單的JavaBean,通過EL的存取運算符訪問其屬性。

答案:文件userLogin.java定義了一個用戶Bean,包含姓名、密碼和電子郵件3個屬性,其代碼如下:

package bean;

public class userLogin {

private String userName;

private String 1password   ; 

private String email;

public userLogin() {

userName = "李平";

password = "123";

email = "[email protected]";

}

public void setuserName(String userName) {

this.userName = userName;

}

public String getuserName() {

return this.userName;

}

public void setpassword(String password) {

this.password = password;

}

public String getpassword() {

return this.password;

}

public void setemail(String email) {

this.email = email;

}

public String getemail() {

return this.email;

}

}

文件accessBean.jsp使用EL的存取運算符獲取JavaBean的屬性,其代碼如下:

<%@ page contentType="text/html; charset=gb2312"%>

2)<%@ page import ="bean.userLogin" %>                                    

<jsp:useBean id="user" class="bean.userLogin" scope="session">

</jsp:useBean>

<html>

<head>

<title>使用存取運算符訪問JavaBean的屬性</title>

</head>

<body>

<!--通過EL存取運算符訪問JavaBean的屬性-->

用戶名:(3) ${user.username}

<br>

密碼:(4)${user.password}        

<br>

                電子郵箱:(5)  ${user.email} 

                <br>

         </body>

</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章