国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

MVC 構(gòu)架學(xué)習(xí)之漸行漸進(二)

2019-11-18 12:44:20
字體:
供稿:網(wǎng)友

  MVC:模型-視圖-控制器結(jié)構(gòu),這種構(gòu)架在VC中我們可以體會得更深一些。在java中實現(xiàn)這種構(gòu)架的目的是實現(xiàn)網(wǎng)頁制作人員和開發(fā)人員的分工。然而這一知識點并不輕易把握,所需要讀者了解的知識點尤其是對servlet的理解一定要深刻,所以這里我采用漸行漸進的步驟,從點到面逐步引導(dǎo)大家把握這一技術(shù)。  
  
  首先,大家要看懂以下幾個類的作用。每個類都有相應(yīng)的說明,和導(dǎo)讀內(nèi)容。[b:ec7138a775]  
     
  Action接口[/b:ec7138a775]  
  示例:/WEB-INF/classes/actions/Action.java  
  package actions;  
  import javax.servlet.http.HttpServlet;  
  import javax.servlet.http.HttpServletRequest;  
  import javax.servlet.http.HttpServletResponse;  
  public interface Action  
  {  
  public ActionRouter perform(HttpServlet servlet,  
  HttpServletRequest  req,HttpServletResponse  res)  
    throws java.io.IOException,javax.servlet.ServletException;  
  }  
  Action接口定義了一個perform的方法,它向操作servlet、HTTP請求響應(yīng)傳遞引用。  
  
  ActionFactory類  
  示例:/WEB-INF/classes/actions/ActionFactory.java  
  package actions;  
  import java.util.Hashtable;  
  public class ActionFactory  
  {  
  PRivate Hashtable action_s=new Hashtable();  
  public Action getAction(String classname,ClassLoader loader)  
    throws ClassNotFoundException,IllegalaccessException,InstantiationException  
  {  
  Action action=(Action)actions.get(classname);  
  if (action==null) //假如該操作未存儲在哈希表中,操作庫將首先創(chuàng)建它  
  {  
  Class klass=loader.loadClass(classname);//獲取對象類型  
  action=(Action)klass.newInstance();//對象初始化  
  actions.put(classname,action);//存儲到哈希表中  
  }  
  return action;  
  }  
  }  
  在操作庫中保持操作的哈希表,該庫的getAction方法由操作的Servlet調(diào)用,并返回對應(yīng)于類名的操作。假如該操作未存儲在哈希表中,操作庫將首先創(chuàng)建它,然后再存儲到哈希表中。以后碰到相同的操作請求,操作庫將僅僅從哈希表中返回一個引用?! ?br />  導(dǎo)讀:GetClass():方法返回為一個Class類型的對象。例:  
  …  
  private LoginDB loginDB;  
  Class pt=loginDB.getClass();  
  System.out.println(“The Beans name is:”+pt.getName());  
  …  
  輸出內(nèi)容:The Beans name is: bean.LoginDB  
  大多數(shù)情況下定義一個Class的對象的目的是要引用getClass方法?! ?br />  newInstance():這個方法將調(diào)用類的默認的構(gòu)造器,由當(dāng)前的Class對象表示,并把生成的對象作為Object類型返回。假如你想把該類型保存在某一類型的變量里,則需要將它轉(zhuǎn)換  
  為相應(yīng)的類型,否則將直接把結(jié)果存儲在一個Object類型的變量里。這個方法會拋出兩個異常:IllegalAccessException,InstantiationException

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 天祝| 周至县| 凤台县| 铁岭县| 蚌埠市| 黄大仙区| 岐山县| 淳安县| 浦北县| 西乌| 鄂尔多斯市| 喀喇沁旗| 图们市| 民乐县| 桐城市| 曲阳县| 当阳市| 百色市| 汉寿县| 罗平县| 渑池县| 洛浦县| 英超| 宁陵县| 雷州市| 康马县| 宝山区| 大竹县| 镇雄县| 固阳县| 长宁区| 莆田市| 平乐县| 阳谷县| 邯郸市| 麻栗坡县| 乌恰县| 库尔勒市| 通河县| 峨山| 赤壁市|