JSP企業面試題整理(4)

來源:互聯網
上載者:User

JSP企業面試題整理(4)
5-1. 簡述Servlet和JSP的關係。

JSP是以另外一種方式實現的Servlet,Servlet是JSP的早期版本,在JSP中,更加註重頁面的表現,而在Servlet中則更注重商務邏輯的實現。

因此,當編寫的頁面顯示效果比較複雜時,首選是JSP。或者在開發過程中,HTML代碼經常發生變化,而Java代碼則相對比較固定時,可以選擇JSP。而我們在處理商務邏輯時,首選則是Servlet。

同時,JSP只能處理瀏覽器的請求,而Servlet則可以處理一個用戶端的應用程式請求。因此,Servlet加強了Web伺服器的功能。

 

5-2. 簡述Servlet的生命週期。(企業筆試題)

Servlet運行機制和Applet類似,Servlet是載伺服器端啟動並執行,但是Applet是在用戶端啟動並執行。Servlet是javax.servlet包中HttpServlet類的子類,由伺服器完成該子類的建立和初始化。

Servlet的生命週期主要由3個過程組成。

1、init()方法:伺服器初始化Servlet。

2、service()方法:初始化完畢,Servlet對象調用該方法相應客戶的請求。

3、destroy()方法:調用該方法消滅Servlet對象。

其中,init()方法只在Servlet第一次被請求載入的時候被調用一次,當有客戶再請求Servlet服務時,Web伺服器將啟動一個新的線程,在該線程中,調用service方法相應客戶的請求。

 

5-3. 簡述HttpSession介面的功能和使用方法。(企業筆試題)

這是一個java.servelt.http包中的介面,它封裝了會話的概念。定義為:“public interface HttpSession”,可以使用HttpServletRequest對象的getSession()方法來得到這種類型的對象,文法為:“HttpSession session = request.getSession();”。

 

5-5. 編寫一個HTML檔案,利用Servelt的doPost方法實現Form表單內容的讀取。(上機完成)(企業筆試題)

案例名稱:使用doGet和doPost方法

程式名稱:j5_02.htm

 

<HTML>

       <BODY>

       <FORM ACTION="/doget" METHOD="get">

       請輸入姓名:

       <INPUT TYPE="TEXT" NAME="myname"><br>

       您的興趣:

       <SELECT NAME="love">

       <OPTION value="Sleep">Sleep</OPTION>

       <OPTION value="Dance">Dance</OPTION>

       <OPTION value="Travel">Travel</OPTION>

       </SELECT><br>

       <INPUT TYPE="SUBMIT" NAME="mysubmit"><br>

       <INPUT TYPE="RESET" VALUE="重新來過"><br>

       </FORM>

       </BODY>

</HTML>

 

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class j5_03 extends HttpServlet

{

       //重寫doPost方法

       public void doPost(HttpServletRequest req, HttpServletResponse res)

             throws ServletException, IOException

       {

                //首先設定頭資訊

                res.setContentType("text/html");

                //用 writer方法返迴響應資料

                PrintWriter out = res.getWriter();

                out.println("<html><head></head><body>");

                out.println("name: " + req.getParameter("myname"));

                out.println("<br>");

                out.println("love: " + req.getParameter("love"));

                out.println("</body></html>");

                out.close();

       }

       public void doGet(HttpServletRequest req, HttpServletResponse res)

                throws ServletException,IOException{

                doPost(req,res);

       }

}

6-1 什麼是組件?使用組件有什麼優點?

現在軟體開發都已經轉向了基於組件的開發,目前具備代表性的組件技術有微軟的COM、COM+,有Sun的JavaBean和EJB(Enterprise Java Bean),另外還有CORBA(Common Object Request Broker Architecture,公用對象請求代理結構)

JavaBean規範將“軟體組件”的概念引入到Java編程的領域。組件是自包含的、可重用的軟體單元;而JavaBean組件,則可以使用可視的應用程式開發工具,可視地將它們編寫到Java程式中。JavaBean規範為Java開發人員提供了一種“組件化”其Java類的方法

 

6-2 編寫JavaBean的時候,要注意哪些?

1、如果類的成員變數的名字是xxx,那麼為了更改或擷取成員變數的值,在類中使用兩個方法:

getXxx(),用來擷取屬性xxx。

setXxx(),用來修改屬性xxx。

2、對於boolean類型的成員變數,允許使用is代替get和set。

3、類中方法的訪問屬性必須是public的。

4、類中如果有構造方法,那麼這個構造方法也是public的,並且是無參數的。

6-3 簡述JSP的設計模式。(企業筆試題)

JSP設計模式包括兩個:(1)Model1,JSP+JavaBean設計模式。(2)Model2,MVC設計模式。

在這種模式中,JSP頁面獨自響應請求並將處理結果返回客戶,所有的資料庫操作通過JavaBean來實現。大量地使用這種模式,常會導致在JSP頁面中嵌入大量的Java代碼,當需要處理的商業邏輯非常複雜時,這種情況就會變得很糟糕。大量的Java代碼使得JSP頁面變得非常臃腫。前端的頁面設計人員稍有不慎,就有可能破壞關係到商業邏輯的代碼。

 “MVC”模式即是:“Model-View-Controller”模式。在這種模式中,通過JSP技術來表現頁面,通過Servlet技術來完成大量的交易處理工作,實現使用者的商業邏輯。

在這種模式中,Servlet用來處理請求的事務,充當了控制器(Controller即“C”)的角色,Servlet負責響應客戶對商務邏輯的請求並根據使用者的請求行為,決定將哪個JSP頁面發送給客戶。JSP頁面處於表現層,也就是視圖(View即“V”)的角色。JavaBean則負責資料的處理,也就是模型(Model即“M”)的角色。
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.