javaweb 複習小結

jsp主要內置對象有: application、exception、 pageContext  request session、response__out、config、page。

5、  application對象是 代表應用程序上下文,它允許JSP頁面與包括在同一應用程序中的任何Web組件共享信息  ,而session對象則是每個客戶專用的。

JDBC的主要任務是:與數據庫建立連接 發送SQL語句處理結果

 

7、  一個Bean由三部分組成:   實現java.io.serializable接口  提供無參數的構造方法    提供getter()和setter()方法訪問它的屬性 

 

9、  Servlet的生命週期分三個時期:裝載Servlet創建一個Servlet實例銷燬

 

10、  JSP開發網站的兩種模式分爲_jsp+javabean_和jsp+javabean+servlet

 

1.  什麼是request對象,它有哪些常用的方法。

1.  答:“request” 對象代表的是來自客戶端的請求,例如我們在FORM表單中填寫的信息等,是最常用的對象。關於它的方法使用較多的是getParameter、getParameterNames和getParameterValues,通過調用這幾個方法來獲取請求對象中所包含的參數的值。

3.什麼是application對象,application對象與session對象的區別?

1)“application” 對象負責提供應用程序在服務器中運行時的一些全局信息,常用的方法有getMimeType和getRealPath等。

2)與session對象不同:服務器啓動後,就產生application對象。當客戶訪問服務器上的Jsp時,Jsp引擎就爲該客戶分配這個application對象。所有的客戶的application對象都是同一個。即所有的客戶共享這個內置的application。

4、這些內置對象都代表什麼意思?

答:request,請求對象:代表的是來自客戶端的請求

response,響應對象:代表的是對客戶端的響應

session,會話對象:代表服務器與客戶端所建立的會話

application,應用程序對象:負責提供應用程序在服務器中運行時的一些全局信息

out,輸出對象:代表了向客戶端發送數據的對象

exception,異常對象:代表了JSP文件運行時所產生的異常對象

5、分頁的步驟和關鍵代碼?

    答:1)首先取得總的記錄數m。

2)根據每頁顯示的n計算總的頁數pageSize。

3)設定一個變量爲要顯示的頁:showPage。

4)設定一個變量爲記錄顯示記錄的位置:positoion

如果要顯示第showpage頁則:

     int position=(showPage-1)*pageSize+1;

      rs.absolute(postion);//設置遊標的位置

     …

  for(int I=1 ;I<pageSize;I++)

{

      out.print(“<tr>”);

         out.print(“<td>”+rs.getString(1)+”</td>”);

…     

out.print(“</tr>”);

        rs.next();

}

 

 

 

2.  什麼是URL重寫?Jsp中如何實現URL重寫?

2.答:URL重寫:當客戶從一個頁面重新連接到另一個頁面時,通過向這個新的URL添加參數,把session對象的Id傳帶過去,這樣可以保障客戶在客戶在該網站各個頁面中的session對象是完全相同的。

實現URL重寫的方法:使用response對象調用encodeURL()或encodeRedirectURL()實現URL重寫。例如:從tom.jsp連接到jerry.jsp

1) String s=session.getId();

2) String str=response.endcodeURL(“jerry.jsp”);

3) <%=str %>//連接目標

 

 

3.  從表單中獲得參數常用方法有哪些?

1)getParameter()   獲取參數的值

2)getParameterNames()  獲取參數的名稱

3)getParameterValues()   獲取多個值

 

1.簡述servlet進行中文處理的方法。

res.setContentType(“text/html;charset=gb2312”);

 

5.JSP和Servlet有哪些相同點和不同點,他們之間的聯繫是什麼?

答:JSP是Servlet技術的擴展,本質上是Servlet的簡易方式,更強調應用的外表表達。JSP編譯後是"類servlet"。Servlet和JSP最主要的不同點在於,Servlet的應用邏輯是在Java文件中,並且完全從表示層中的HTML裏分離開來。而JSP的情況是Java和HTML可以組合成一個擴展名爲.jsp的文件。JSP側重於視圖,Servlet主要用於控制邏輯。

3.簡述Jsp的執行過程。

.答:    1)客戶端發出Request(請求);

2)JspContainer將Jsp轉譯成Servlet源代碼;(字節碼)

3)將產生的Servlet的源代碼經過編譯後,並加載到內存執行;

把結果Response(響應)至客戶端。

 

 

 

 

2.請寫出獲取初始化參數的方法。

答:1)使用ServletConfig對象訪問初始化參數:

     ServletConfigconfig=getServletConfig();

     Config.getInitParameter(“name”);

 

3. 簡述使用Cookie進行會話跟蹤的過程。(寫出主要步驟,即存取數據的步驟)

答:保存到Cookie中:

Cookie=new Cookie(“userType”,user);

從Cookie中取數據:

Cookie[] cookie=req.getCookies();

if (cookies!=null){

for(int I=0;I<cookies.length;I++)

{

   if (cookies[I].getName().equals(“userType”));

String userType=cookie[I].getValue();

}

 

4.JavaBeans具有的特點有哪些?

答:1)可以實現代碼的重複利用。

2)易編寫、易維護、易使用。

3)可以在安裝了Java運行環境的平臺上使用,而不需要重新編譯。

 

5、簡述Jsp 的指令與JspAction 各包包含哪些內容(列舉5個以上)

1)page 指令 2)include指令 3)taglib指令4)<jsp:include/>動作

5)<jsp:forward/>動作 6)〈jsp:useBean/>

 

6、編寫兩個過濾器FilterC和FilterD同時作用於一個ServletC。兩個過濾器簡單打印一句話。然後將兩個過濾器的作用順序發生改變,打印出執行結果,並寫出web.xml的配置。

publicclass ServletC extends HttpServlet

{

       public void service(HttpServletRequestrequest,HttpServletResponse response)

         throws IOException,ServletException

         {

                response.setContentType("text/html;charset=gb2312");

                PrintWriter out=response.getWriter();

                out.println("This is ServletC!");              

         }

}

FilterC.java

importjava.io.*;

importjavax.servlet.*;

importjavax.servlet.http.*;

publicclass FilterC implements Filter

{

       public void init(FilterConfig config)

       {

}

       public void doFilter(ServletRequestrequest,ServletResponse response,FilterChain chain)

         throws IOException,ServletException

       {

         response.setContentType("text/html;charset=gb2312");

         PrintWriter out=response.getWriter();

         out.println("This is FilterC before doFilter");

        chain.doFilter(request,response);

        out.println("This is FilterC after doFilter");         

        }

      

      

       public void destroy()

       {

             

       }

      

}

 

FilterD.java

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class FilterD implements Filter

{

       public void init(FilterConfigconfig)

       {    

       }

       public voiddoFilter(ServletRequest request,ServletResponse response,FilterChain chain)

          throws IOException,ServletException

       {

         response.setContentType("text/html;charset=gb2312");

          PrintWriter out=response.getWriter();

          out.println("This is FilterD beforedoFilter");   

          chain.doFilter(request,response);

          out.println("This is FilterD afterdoFilter");       

       }

       public void destroy()

       {    

       }

}

web.xml配置爲:

<filter>

       <filter-name>FilterC</filter-name>

              <filter-class>FilterC</filter-class>

       </filter>

 

       <filter-mapping>

           <filter-name>FilterC</filter-name>

              <url-pattern>/ServletC</url-pattern>

       </filter-mapping>

 

   <filter>

       <filter-name>FilterD</filter-name>

              <filter-class>FilterD</filter-class>

       </filter>

 

       <filter-mapping>

          <filter-name>FilterD</filter-name>

              <url-pattern>/ServletC</url-pattern>

       </filter-mapping>

 

1)按上面順序配置web.xml打印出的結果爲:

This is FilterC before doFilter
This is FilterD before doFilter
This is ServletC!
This is FilterD after doFilter

This is FilterC after doFilter

 

2)過濾器作用順序發生改變時候的執行結果爲:

This is FilterD before doFilter
This is FilterC before doFilter
This is ServletC!
This is FilterC after doFilter

This is FilterD after doFilter

 

 

 

 

 

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