Servlet編程技術

Servlet是一個標準的純Java類,只不過該類是HttpServlet類的一個子類,因此Servlet(即Java類)的對象可以使用或重寫HttpServlet類中的所有方法

一.創建Servlet

     步驟如下:New---Servlet---取一個Servlet類名---next---一般將Servlet/JspMapping URL設置爲:/Servlet類名(其他地方不需要修改)---finish

     注意:1.一般將所有寫好的Servlet類以包的形式保存,並且將這個包存放在Web路徑下的src目錄下;從而當某個Servlet類被編譯時,就會自動在"Web工程名/web-inf/classes"目錄下產生一個與其對應的.class文件,並且該.classes文件也是以包的形式存放,包名與存放Servlet類的包名同名

             2.web.xml文件中的兩個重要標記

                  <servlet>

                       <servlet-name>Servlet類名</servlet-name>

                       <servlet-class>Servlet類經過編譯後的.class文件名(必須帶上包名)</servlet-class>

                  </servlet>

                  <servlet-mapping>

                       <servlet-name>Servlet類名</servlet-name>

                       <url-pattern>servlet頁面被加載時的地址</url-pattern>

                  </servlet-mapping>

              3.編譯後的Servlet只被裝載一次,因此當源程序重新編譯後,需要重啓Tomcat服務器

              4.Servlet類的修飾符必須爲public

              5.由於Servlet中寫的全部是純Java代碼,因此要在Servlet中調用Html或Jsp或JavaScript代碼時,必須將他們都寫在out.println(......)中   

              6.在Servlet類中獲取out對象的方法:PrintWriter out=response.getWriter();

              7.在Servlet中調用對象session時,要首先聲明session,即用session所屬的類HttpSession來對它進行定義,即:

                 HttpSession session=request.getSession();

 

二.Servlet對象常用的方法

     1.public void init(ServletConfig config) throws ServletException

          服務器初始化Servlet

          一旦某個Servlet被初始化後,它將被保存在內存中;因此該方法只需要被調用一次以後,Servlet就可以被多次調用

     2.public void service(HttpServletRequest request,HttpServletResponse response) throws

        ServletException,IOException

          每當用戶需要加載某個Servlet頁面時,該方法就會被調用執行

          request:用來封裝用戶的請求信息

          response:用來響應用戶的請求

          在該方法中要實現的功能也可以在doGet()或doPost()中實現

     3.public destroy()

          該方法用於消滅某個Servlet對象

     4.protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException

        與

        protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException

          這兩個方法的功能與service方法的功能相同,一般只要把具體邏輯放在doGet和doPost方法的任一個中,然後在另一個方法裏

          調用這個方法即可,也就是說這兩個方法中的邏輯功能都是相同的

 

三.Servlet,Jsp,Html頁面之間的跳轉

     1.Servlet頁面---Jsp頁面或Html頁面

          A.要設置從Servlet頁面跳轉到哪個Jsp頁面或Html頁面,必須在Servlet類的doGet或doPost方法中加入以下語句:

              getServletConfig().getServletContext().getRequestDispatcher("/Html或Jsp頁面文件中").forward(HttpServletRequest request,HttpServletResponse response);

              也可以通過JavaScript中的window.location.href="./Html或Jsp頁面地址"實現

          B.在Html頁面文件中不能獲取Servlet或Jsp頁面文件中的某個表單控件或對象的值;但是,Jsp頁面文件或Servlet頁面文件中可以互相獲取

     2.Jsp頁面或Html頁面---Servlet頁面

          此時Jsp文件或Html文件的表單中的action應爲Servlet頁面的加載地址,即web.xml文件中的<url-pattern>值

          格式:action="地址名"或"./地址名"

 

 

 

 

 

 

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