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

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

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

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

  [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 
  
  說明:這里我偷了個懶,該頁面只寫這句話?!?br />  
  [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值。 
  
  [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兩個對象的區(qū)別,經(jīng)過實驗應(yīng)用getServletContext()進行重定向*/ 
        /*總是不行,而應(yīng)用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的表單提交時,請求被發(fā)送到登錄的Servlet,這段代碼我沒什么好說的,在使用mvc構(gòu)架之前,我們喜歡用隱藏幀來處理表單提交的內(nèi)容,實際LoginServlet.java就是替代了隱藏幀而已?!?br />  
  到此為止,請讀者將所有的示例,按示例所示的路徑存儲好所有的類和jsp頁面。下一步我們將討論這個東東的玩法和原理?!?br />  對了,忘了告訴大家,我的測試環(huán)境是: 
  win2000server  tomcat 4.1  jdk1.4  沒有數(shù)據(jù)庫

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 武山县| 太原市| 樟树市| 马关县| 芦山县| 北海市| 偏关县| 永善县| 南宫市| 汝州市| 新余市| 九龙县| 云阳县| 屏边| 平陆县| 兴化市| 胶州市| 潜山县| 新巴尔虎右旗| 灌阳县| 湛江市| 梁平县| 邯郸市| 临朐县| 呼玛县| 荣昌县| 西平县| 穆棱市| 汕尾市| 板桥市| 安图县| 平山县| 招远市| 上蔡县| 龙胜| 海原县| 镇巴县| 崇州市| 呼图壁县| 中西区| 玉树县|