麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

MVC 構(gòu)架學(xué)習(xí)之漸行漸進(jìn)(一)

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

  MVC:模型-視圖-控制器結(jié)構(gòu),這種構(gòu)架在VC中我們可以體會(huì)得更深一些。在java中實(shí)現(xiàn)這種構(gòu)架的目的是實(shí)現(xiàn)網(wǎng)頁制作人員和開發(fā)人員的分工。然而這一知識(shí)點(diǎn)并不輕易把握,所需要讀者了解的知識(shí)點(diǎn)尤其是對(duì)servlet的理解一定要深刻,所以這里我采用漸行漸進(jìn)的步驟,從點(diǎn)到面逐步引導(dǎo)大家把握這一技術(shù)?! ?br />  
  首先,大家要看懂以下幾個(gè)類的作用。每個(gè)類都有相應(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接口定義了一個(gè)perform的方法,它向操作servlet、HTTP請(qǐng)求響應(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) //假如該操作未存儲(chǔ)在哈希表中,操作庫將首先創(chuàng)建它  
  {  
  Class klass=loader.loadClass(classname);//獲取對(duì)象類型  
  action=(Action)klass.newInstance();//對(duì)象初始化  
  actions.put(classname,action);//存儲(chǔ)到哈希表中  
  }  
  return action;  
  }  
  }  
  在操作庫中保持操作的哈希表,該庫的getAction方法由操作的Servlet調(diào)用,并返回對(duì)應(yīng)于類名的操作。假如該操作未存儲(chǔ)在哈希表中,操作庫將首先創(chuàng)建它,然后再存儲(chǔ)到哈希表中。以后碰到相同的操作請(qǐng)求,操作庫將僅僅從哈希表中返回一個(gè)引用?! ?br />  導(dǎo)讀:GetClass():方法返回為一個(gè)Class類型的對(duì)象。例:  
  …  
  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ù)情況下定義一個(gè)Class的對(duì)象的目的是要引用getClass方法。  
  newInstance():這個(gè)方法將調(diào)用類的默認(rèn)的構(gòu)造器,由當(dāng)前的Class對(duì)象表示,并把生成的對(duì)象作為Object類型返回。假如你想把該類型保存在某一類型的變量里,則需要將它轉(zhuǎn)換  
  為相應(yīng)的類型,否則將直接把結(jié)果存儲(chǔ)在一個(gè)Object類型的變量里。這個(gè)方法會(huì)拋出兩個(gè)異常:IllegalAccessException,InstantiationException

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品一区二区三区免费毛片爱 | 成人在线视频精品 | 美女91视频 | 亚洲最新色 | 99视频网 | 欧美黄色小视频 | 久久久久久久久久久国产精品 | 日韩精品羞羞答答 | 毛片网站视频 | 亚洲国产高清视频 | 在火车上摸两乳爽的大叫 | 久色亚洲| 久久久久久久久浪潮精品 | 国产成人高清成人av片在线看 | 日本精品视频一区二区三区四区 | 韩国草草影院 | 一区在线视频 | 羞羞答答影院 | 久久久经典视频 | 337p日本欧洲亚洲大胆精蜜臀 | 日本一级黄色大片 | 精品中文视频 | 久久一本日日摸夜夜添 | 国产视频在线观看免费 | 日本黄色免费观看视频 | 亚洲免费片 | 四季久久免费一区二区三区四区 | 亚洲最新黄色网址 | 在线小视频国产 | 久久精品久久精品国产大片 | 国产成人精品自拍视频 | 1级黄色毛片 | 一级做a爱片毛片免费 | 黄色电影免费提供 | 欧美性受xxxx白人性爽 | 中文字幕精品在线播放 | 噜噜噜影院 | 久久经典国产视频 | 久久爽精品区穿丝袜 | 欧美精品在线免费观看 | 久久成人动漫 |