|
|
(未显示同一用户的2个中间版本) |
第1行: |
第1行: |
− | ==Model层的作用==
| + | 代码与命令行版的Dao层基本一致: |
− | *M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
| |
| | | |
− | [[文件:Java8-1.png]]
| + | *[[商苑面馆:Java命令行版之 Dao层(MySQL实现)]] |
− | ===客户端功能===
| |
− | [[文件:Java2-36.png]]
| |
− | | |
− | | |
− | ==客户端Model层的编写==
| |
− | ===新建类UserService===
| |
− | 新建包service,在其中新建此类。
| |
− | | |
− | <nowiki>package service;
| |
− | | |
− | import dao.*;
| |
− | import entity.*;
| |
− | //import exception.UserException;
| |
− | public class UserService {
| |
− |
| |
− | /**
| |
− | * 用户集类(用于存储用户
| |
− | */
| |
− | private UserDao userset = null;
| |
− |
| |
− |
| |
− | public UserService() {
| |
− | userset = new UserDaoArray();
| |
− | }
| |
− | </nowiki>
| |
− |
| |
− | ===添加用户功能:addUser===
| |
− | | |
− | <nowiki>/**
| |
− | * 用于向用户集添加用户
| |
− | */
| |
− | public void addUser(User user){
| |
− |
| |
− | userset.addUser(user);
| |
− | System.out.println("用户 "+user.getname() +" 注册成功");
| |
− | System.out.println();
| |
− | } </nowiki>
| |
− | ===用户登陆验证功能:login()===
| |
− | <nowiki>/**
| |
− | * 登录验证,判断用户名与密码是否一致
| |
− | *
| |
− | * @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;
| |
− | }</nowiki>
| |
− | | |
− | ===在main方法中编写测试代码===
| |
− | <nowiki>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");
| |
− | }</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;
| |
− | | |
− | 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");
| |
− | }
| |
− | }</nowiki>
| |