亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

MVC 構架學習之漸行漸進(四)

2019-11-18 12:44:27
字體:
來源:轉載
供稿:網友

  [b:d01b749036]     測試頁面testmvc.jsp[/b:d01b749036]示例: 
   /testmvc.jsp 
  <%@ page con_tentType="text/Html;charset=gb2312" %> 
  <html> 
  <head> 
  <title>無標題文檔</title> 
  <meta http-equiv="Content-Type" con_tent="text/html; charset=gb2312"> 
  </head> 
  <body bgcolor="#FFFFFF" text="#000000"> 
     Pleasa Login  
    <hr  width="98%"> 
  <!--form name="form1" method="post" action="<%=response.encodeURL("login")%>"--> 
  <form name="form1" method="post" action="<%=response.encodeURL("login-action.do")%>"> 
    <table width="80%" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
        <td> 用戶名:  
          <input type="text" name="userName"> 
        </td> 
    </tr> 
    <tr> 
        <td> 密 碼:  
          <input type="passWord" name="PassWord" size="12"> 
        </td> 
    </tr> 
    <tr> 
        <td height="37">  
          <input type="button" name="Submit" on_click="test()" value="登 陸"> 
        </td> 
    </tr> 
  </table> 
  </form> 
    
  
  </body> 
  </html> 
  <script language="javascript"> 
  function test() 
  { 
  alert("ok"); 
  document.form1.submit(); 
  } 
  </script> 
  
  [b:d01b749036]測試頁面:welcome.jsp[/b:d01b749036] 
  示例: /welcome.jsp 
  you are welcome 
  
  說明:這里我偷了個懶,該頁面只寫這句話。 
  
  [b:d01b749036]BEAN:USER類[/b:d01b749036] 
  示例: /WEB-INF/Classes/beans/User.java 
  package bean; 
  public class User implements java.io.Serializable 
  { 
  PRivate final String userName,passWord,hint; 
  public User(String userName,String  password,String hint) 
  { 
  this.userName=userName; 
  this.password=password; 
  this.hint=hint; 
  } 
  public String getUserName() 
  { 
  return userName; 
  } 
  
  public String getPassWord() 
  { 
  return password; 
  } 
  
  public String getHint() 
  { 
  return hint; 
  } 
  public boolean equals(String uname,String pwd) 
  { 
  return getUserName().equals(uname)&& getPassWord().equals(pwd); 
  } 
  } 
     該類表示了一個用戶,并提供了一個equals的方法,當用戶名和口令匹配的時候,返回true值?!?br />  
  [b:d01b749036]BEAN:LoginDB類[/b:d01b749036] 
  示例: /WEB-INF/Classes/beans/User.java 
  package bean; 
  import java.util.Iterator; 
  import java.util.Vector; 
  import java.io.*; 
  
  public class LoginDB implements Serializable 
  { 
  private Vector users=new Vector(); 
  public void addUser(String uname,String pwd,String hint)//添加用戶的方法 
  { 
  users.add(new User(uname,pwd,hint)); 
  } 
  public User getUser(String uname,String pwd)//檢索用戶的方法 
  { 
  Iterator it=users.iterator(); 
  User bean=null; 
  synchronized (users){ 
  while(it.hasNext()) 
  { 
  bean=(User)it.next(); 
  if (bean.equals(uname,pwd)) 
    return bean; 
  } 
  } 
  return null; 
  } 
  public String getHint(String uname)//對指定的用戶提供返回口令提示的方法 
  { 
  Iterator it=users.iterator(); 
  User bean=null; 
  synchronized (users) 
  { 
  while(it.hasNext()) 
  { 
  if (bean.getUserName().equals(uname)) 
  return bean.getHint(); 
  } 
  } 
  return null; 
  } 
  } 
      
  [b:d01b749036]LoginServlet類:[/b:d01b749036] 
  示例:  /WEB-INF/Classes/LoginServlet.java 
  import javax.servlet.ServletConfig; 
  import javax.servlet.ServletException; 
  import javax.servlet.http.HttpServlet; 
  import javax.servlet.http.HttpServletRequest; 
  import javax.servlet.http.HttpServletResponse; 
  import javax.servlet.jsp.*; 
  import bean.*; 
  public class LoginServlet extends HttpServlet 
  { 
   private LoginDB loginDB; 
   public void init(ServletConfig config) throws ServletException 
   { 
    loginDB=new LoginDB(); 
   } 
   public void service(HttpServletRequest req, HttpServletResponse res) 
          throws java.io.IOException, ServletException  
       { 
        loginDB.addUser("long","long","long"); 
        User user=loginDB.getUser(req.getParameter("userName"),req.getParameter("PassWord")); 
        System.out.println("The name of loginDB is"+loginDB.getClass().getName()); 
        //String user=req.getParameter("userName"); 
        //System.out.println("get user name:"+user); 
        /*getServletContext().getRequestDispatcher(res.encodeURL("/index.jsp")).forward(req,res);*/ 
        /*要注重getServletContext()和req兩個對象的區別,經過實驗應用getServletContext()進行重定向*/ 
        /*總是不行,而應用req則可以*/ 
        if (user!=null) 
        { 
        req.getRequestDispatcher(res.encodeURL("/welcome.jsp")).forward(req,res); 
        } 
        else 
        { 
        req.getRequestDispatcher(res.encodeURL("/adduser.jsp")).forward(req,res); 
        } 
       } 
        
  } 
  
  當testmvc.jsp的表單提交時,請求被發送到登錄的Servlet,這段代碼我沒什么好說的,在使用mvc構架之前,我們喜歡用隱藏幀來處理表單提交的內容,實際LoginServlet.java就是替代了隱藏幀而已?!?br />  
  到此為止,請讀者將所有的示例,按示例所示的路徑存儲好所有的類和jsp頁面。下一步我們將討論這個東東的玩法和原理?!?br />  對了,忘了告訴大家,我的測試環境是: 
  win2000server  tomcat 4.1  jdk1.4  沒有數據庫

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美综合另类中字| 5566日本婷婷色中文字幕97| 欧美一区二区大胆人体摄影专业网站| 国产精品啪视频| 日韩av网址在线观看| 亚洲精品在线不卡| 国产精品视频在线播放| 精品久久久久久中文字幕大豆网| 亚洲第一精品电影| 中文字幕在线亚洲| 日韩欧美aⅴ综合网站发布| 日本精品久久久久影院| 久久精品视频在线| 欧美夫妻性生活视频| 国产成人一区二| 久久久视频免费观看| 日韩美女毛茸茸| 日韩中文字幕国产精品| 国产九九精品视频| 国产午夜精品一区理论片飘花| 国产suv精品一区二区| 尤物九九久久国产精品的特点| 国产免费一区二区三区香蕉精| 97热在线精品视频在线观看| 亚洲自拍小视频免费观看| 国产精品久久久久久久久免费| 亚洲最大成人免费视频| 日韩国产高清视频在线| 成人午夜激情免费视频| 91九色精品视频| 亚洲精品色婷婷福利天堂| 欧美日本啪啪无遮挡网站| 日韩欧美在线字幕| 亚洲xxxxx电影| 97香蕉超级碰碰久久免费的优势| 97精品视频在线| 亚洲乱亚洲乱妇无码| 91精品成人久久| 国产97在线观看| 久久青草福利网站| 午夜精品蜜臀一区二区三区免费| 精品国产31久久久久久| 日本久久久久久久久久久| 日韩一区av在线| 九九九久久久久久| 国产在线播放91| 日韩视频免费观看| 久久亚洲精品国产亚洲老地址| 久久精品国产欧美激情| 97国产suv精品一区二区62| 日本精品在线视频| 欧美大人香蕉在线| 亚洲激情电影中文字幕| 国产亚洲一区二区在线| 国产精品999999| 欧洲美女免费图片一区| 国产精国产精品| 性日韩欧美在线视频| 永久免费毛片在线播放不卡| 久久五月天色综合| 91久热免费在线视频| 中日韩美女免费视频网站在线观看| 国产精品自拍视频| 中日韩美女免费视频网址在线观看| 91精品视频免费看| 欧美影院成年免费版| 中文字幕日韩有码| 国产精品视频1区| xvideos亚洲人网站| 国产日产欧美a一级在线| 95av在线视频| 成人夜晚看av| 日本精品久久中文字幕佐佐木| 成人信息集中地欧美| 亚洲欧美另类在线观看| 国产最新精品视频| 欧美精品性视频| 色狠狠av一区二区三区香蕉蜜桃| 精品中文字幕久久久久久| 久久精品国产亚洲精品2020| 国产精欧美一区二区三区| 92福利视频午夜1000合集在线观看| 国产成人中文字幕| 国产精品久久久精品| 国产精品久久综合av爱欲tv| 伊是香蕉大人久久| 欧美大成色www永久网站婷| 欧美国产日韩二区| 久久久电影免费观看完整版| 2019国产精品自在线拍国产不卡| 日韩av免费在线看| 久久久久久久久久亚洲| 91麻豆桃色免费看| 久久久久久久爱| yw.139尤物在线精品视频| 精品国产一区二区三区四区在线观看| 亚洲毛茸茸少妇高潮呻吟| 欧美亚洲国产成人精品| 日韩一区二区久久久| 亚洲黄一区二区| 欧美在线免费看| 亚洲综合精品一区二区| 国产免费一区二区三区在线观看| 久久精品视频在线观看| 国产精品色婷婷视频| 日韩av电影在线免费播放| 欧美在线视频免费播放| 欧美大尺度激情区在线播放| 亚洲一区中文字幕在线观看| 一本色道久久88综合日韩精品| 亚洲国产高清福利视频| 最近2019中文字幕大全第二页| 日韩高清有码在线| 亚洲无亚洲人成网站77777| 成人国产在线视频| 欧美一级淫片播放口| 欧美视频在线观看 亚洲欧| 国内伊人久久久久久网站视频| 国产精品久久久久久久久免费看| 国内揄拍国内精品少妇国语| 国语自产在线不卡| 欧美又大粗又爽又黄大片视频| 亚洲精品国产精品国自产在线| 5252色成人免费视频| 韩国精品美女www爽爽爽视频| 91国语精品自产拍在线观看性色| 成人精品一区二区三区| 国产欧美韩国高清| 法国裸体一区二区| 一区二区三区回区在观看免费视频| 亚洲一区二区日本| 国产偷国产偷亚洲清高网站| 在线免费看av不卡| 国产精品国产三级国产专播精品人| 国产精品永久免费观看| 亚洲国产欧美一区二区三区久久| 亚洲国产欧美一区二区三区久久| 日韩在线播放一区| 欧美黑人xxxx| 午夜精品久久久久久久男人的天堂| 国产一区二区三区直播精品电影| 亚洲欧美日韩天堂一区二区| 黑人巨大精品欧美一区二区一视频| 日韩激情第一页| 欧美日韩成人在线观看| 91香蕉国产在线观看| 欧美日韩在线一区| 91精品在线观| 久久久久亚洲精品成人网小说| 亚洲人成电影在线| 亚洲国产精品美女| 欧美夫妻性生活视频| 久久久久久国产免费| 中文字幕欧美日韩va免费视频| 精品久久久久久久久久| 孩xxxx性bbbb欧美| 亚洲国产又黄又爽女人高潮的| 国产啪精品视频网站| 欧美日韩国产精品一区| 亚洲成人激情小说| 国产精品久久久久久五月尺| 国产精品尤物福利片在线观看| 精品中文字幕久久久久久| 欧美电影第一页|