“商苑面馆:Java命令行版之 Model层”的版本间的差异
来自CloudWiki
(创建页面,内容为“==Model层的作用== *M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中…”) |
|||
(未显示同一用户的4个中间版本) | |||
第25行: | 第25行: | ||
public UserService() { | public UserService() { | ||
− | userset = new UserDaoArray(); | + | //这里根据实际情况,选择数据的实现类 |
+ | //userset = new UserDaoArray(); | ||
+ | userset = new UserDaoSQL(); | ||
} | } | ||
</nowiki> | </nowiki> | ||
− | + | ||
===添加用户功能:addUser=== | ===添加用户功能:addUser=== | ||
第37行: | 第39行: | ||
userset.addUser(user); | userset.addUser(user); | ||
− | System.out.println("用户 "+user. | + | System.out.println("用户 "+user.getName() +" 注册成功"); |
System.out.println(); | System.out.println(); | ||
} </nowiki> | } </nowiki> | ||
第77行: | 第79行: | ||
us.login("王建", "000000"); | us.login("王建", "000000"); | ||
}</nowiki> | }</nowiki> | ||
+ | |||
+ | ===与View层、Dao层联调联试=== | ||
+ | 在View层UserShow的start()方法中加入如下代码,调用UserService. | ||
+ | |||
+ | 这样就是实现了View 层 调用 Model层 ,Model层又调用 Dao层, MVC三层架构基本建立成功! | ||
+ | |||
+ | [[文件:java7-36.png|700px]] | ||
+ | |||
+ | 然后鼠标右击UserShow类,RUN AS -> JAVA APPLICATION : | ||
+ | |||
+ | [[文件:java7-37.png|700px]] | ||
+ | |||
==完整代码== | ==完整代码== | ||
<nowiki>package service; | <nowiki>package service; |
2019年5月19日 (日) 07:18的最新版本
目录
Model层的作用
- M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
客户端功能
客户端Model层的编写
新建类UserService
新建包service,在其中新建此类。
package service; import dao.*; import entity.*; //import exception.UserException; public class UserService { /** * 用户集类(用于存储用户 */ private UserDao userset = null; public UserService() { //这里根据实际情况,选择数据的实现类 //userset = new UserDaoArray(); userset = new UserDaoSQL(); }
添加用户功能:addUser
/** * 用于向用户集添加用户 */ public void addUser(User user){ userset.addUser(user); System.out.println("用户 "+user.getName() +" 注册成功"); System.out.println(); }
用户登陆验证功能:login()
/** * 登录验证,判断用户名与密码是否一致 * * @param uid 用户输入的登录账号 * @param pwd 用户输入的登录密码 * @return 登录信息有效:返回用户对象,否则返回NULL */ public boolean login(String name, String pwd) { //用户名为空,密码为空 //try{ if(userset.search(name)==null){ //throw new UserException("用户 "+name+":该用户不存在"); System.out.println("用户 "+name+":该用户不存在"); return false; }else if(!userset.verify(name, pwd)){ //throw new UserException("用户 "+name+":用户名或密码错误"); System.out.println("用户 "+name+":用户名或密码错误"); return false; } System.out.println("用户 "+name+" 登陆成功!"); //}catch(UserException e){ //System.out.println(e.toString()); //return false; //} return true; }
在main方法中编写测试代码
public static void main(String[] args) { UserService us = new UserService(); User u1 = new User("王建","000000"); us.addUser(u1);; us.login("李建", "111111"); us.login("王建", "111111"); us.login("王建", "000000"); }
与View层、Dao层联调联试
在View层UserShow的start()方法中加入如下代码,调用UserService.
这样就是实现了View 层 调用 Model层 ,Model层又调用 Dao层, MVC三层架构基本建立成功!
然后鼠标右击UserShow类,RUN AS -> JAVA APPLICATION :
完整代码
package service; import dao.*; import entity.*; //import exception.UserException; public class UserService { /** * 用户集类(用于存储用户 */ private UserDao userset = null; public UserService() { userset = new UserDaoArray(); } /** * 用于向用户集添加用户 */ public void addUser(User user){ userset.addUser(user); System.out.println("用户 "+user.getname() +" 注册成功"); System.out.println(); } /** * 登录验证,判断用户名与密码是否一致 * * @param uid 用户输入的登录账号 * @param pwd 用户输入的登录密码 * @return 登录信息有效:返回用户对象,否则返回NULL */ public boolean login(String name, String pwd) { //用户名为空,密码为空 //try{ if(userset.search(name)==null){ //throw new UserException("用户 "+name+":该用户不存在"); System.out.println("用户 "+name+":该用户不存在"); return false; }else if(!userset.verify(name, pwd)){ //throw new UserException("用户 "+name+":用户名或密码错误"); System.out.println("用户 "+name+":用户名或密码错误"); return false; } System.out.println("用户 "+name+" 登陆成功!"); //}catch(UserException e){ //System.out.println(e.toString()); //return false; //} return true; } public static void main(String[] args) { UserService us = new UserService(); User u1 = new User("王建","000000"); us.addUser(u1);; us.login("李建", "111111"); us.login("王建", "111111"); us.login("王建", "000000"); } }