javaBean與Servlet學習


1.JavaBean

 

    JavaBean將java代碼單獨封裝成了一個處理某種業務邏輯的類,可以降低HTML與Java代碼的耦合度,並且簡化JSP頁面,提高Java程序代碼的重用性及靈活性。

    JavaBean必須具有公共的無參構造方法,從而可以通過new關鍵字直接對其實例化。JavaBean中的屬性應該設置成private類型,並且為其提供getter/setter方法。在Eclipse中,可以在代碼區右擊Source->generate getters and setter 進行自動生成。

以下是在JSP頁面中使用JavaBean所使用的標簽

 

2.Servlet

   當客戶端發送請求至服務器時,服務器可以將請求信息發送給Servlet,並讓其建立服務器返回給客戶端的響應。當啟動Web服務器或客戶端第一次請求服務時,可以自動裝入Servlet,之后Servlet繼續運行直到其他客戶端發出請求。

   Servlet Api的常用接口主要有:

  •    Servlet接口
  • HttpServlet類
  • HttpServletRequest接口
  • HttpServletResponse接口

    在寫Servlet類時,一般完善doPost() 和doGet()方法

    需要在web.xml文件中對Servlet進行配置

Servlet的應用

 

  1. 處理表單數據
  2. 頁面轉發:requestDispatcher.forward(HttpServlet request, HttpServletResponse response)以及requestDispatcher.include(HttpServlet request, HttpServletResponse response)方法
  3. 獲得當前頁面的絕對路徑:ServletContext類的getRealPath()方法

3.Servlet過濾器

    Servlet過濾器是客戶端與目標資源間的中間層組件,用於攔截客戶端的請求與相應信息。當Web容器接收到一個客戶端請求時,將判斷此請求是否與過濾器對象相關聯,如果相關聯,則將這一請求交給過濾器進行處理。在處理過程中,過濾器可以對請求進行操作,如更改請求中的信息

數據。在過濾器處理完成之后,再將這一請求交給其他業務進行處理。當所有業務處理完成,需要對客戶端進行響應時,容器又將響應交給過濾器進行處理,過濾器完成處理后將響應發送到客戶端。

 

  Filter接口實現了三個方法,反映了Filter的生命周期。其中init()與destroy()方法只會被調用一次,分別在Web程序加載或者卸載的時候調用。而都doFilter()方法每次有客戶端請求都會被調用一次,Filter的所有工作也集中在doFilter()方法上。 當一個Filter執行完之后,chain.doFilter(request,response)將request遞交給FilterChain中的下一個Filter,如果所有的Filter都走完了則交給Servlet處理。

下面為判讀密碼和確認輸入的密碼是否相同:

 

 

復制代碼
 1 package com.study;  2  3 import java.io.IOException;  4  5 import javax.servlet.Filter;  6 import javax.servlet.FilterChain;  7 import javax.servlet.FilterConfig;  8 import javax.servlet.ServletException;  9 import javax.servlet.ServletRequest; 10 import javax.servlet.ServletResponse; 11 import javax.servlet.annotation.WebFilter; 12 import javax.servlet.http.HttpServletRequest; 13 import javax.servlet.http.HttpServletResponse; 14 15 /** 16  * Servlet Filter implementation class userFormFilter 17 */ 18 @WebFilter("/userFormFilter") 19 public class userFormFilter implements Filter { 20 21 /** 22  * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) 23 */ 24 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 25 // TODO Auto-generated method stub 26 // place your code here 27 HttpServletRequest req=(HttpServletRequest)request; 28 if(req.getParameter("password").equals(req.getParameter("password1"))){ 29 }else 30  { 31 System.out.println("no"); 32 ((HttpServletResponse) response).sendRedirect("index.jsp"); 33  } 34 // pass the request along the filter chain 35  chain.doFilter(request, response); 36  } 37 38  @Override 39 public void destroy() { 40 // TODO Auto-generated method stub 41 42  } 43 44  @Override 45 public void init(FilterConfig arg0) throws ServletException { 46 // TODO Auto-generated method stub 47  } 48 49 }
復制代碼

如果相同,則繼續,不同則跳轉到index.jsp頁面

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM