MVC的概念,大家都清楚吧,Model,View,Control 首先我們看看這個目錄結(jié)構(gòu) --+login ----------+WEB-INF -----------------------+classes -beans -tags -----------+tlds
login 是主目錄放jsp文件,在例子login.jsp,loginFailed.jsp,login_form.jsp,newAccount.jsp,welcome.jsp,accountCreated.jsp
Web-inf下面有web.xml配置文件,classes文件夾放類,tlds文件夾放自定義標(biāo)簽 由于我沒有用到數(shù)據(jù)庫,所以沒有用LIB文件夾,是來放置 *.jar 文件的。
classes目錄下,有beans,tags文件夾,分別放置User,LoginDB類,和自定義標(biāo)簽類GetRequestParameterTag,classes目錄下還直接放了LoginServlet,NewAccountServlet控制器類
我們先看beans下的兩個業(yè)務(wù)對象類 User.java package beans;
public class User implements java.io.Serializable { private final String userName, password, hint; //final強(qiáng)調(diào)此屬性初始化后,不能修改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; } //判斷當(dāng)前對象用戶名和密碼是否相等 public boolean equals(String uname, String upwd) { return getUserName().equals(uname) && getPassword().equals(upwd); } }
LoginDB.java package beans; import java.util.Iterator; import java.util.Vector; public class LoginDB implements java.io.Serializable { private Vector users = new Vector(); //Vector類是同步的,所以addUser就不需要同步了 public void addUser(String name, String pwd, String hint) { users.add(new User(name, pwd, hint)); } //下面方法判斷是否存在正確的user public User getUser(String name,String pwd) { Iterator it = users.iterator(); User user; //迭代需要同步 synchronized(users) { while(it.hasNext()){ user = (User)it.next(); if(user.equals(name,pwd)) return user; //如果返回真,就返回當(dāng)前user } } return null; } public String getHint(String name) { Iterator it = users.iterator(); User user; synchronized(users) { while(it.hasNext()){ user = (User)it.next(); if(user.getUserName().equals(name)) return user.getHint(); } } return null; } }
出處:藍(lán)色理想
責(zé)任編輯:帥青蛙
上一頁 下一頁 用MVC架構(gòu)簡單的注冊、登錄例子 [2]
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|