设为首页 加入收藏

TOP

程序开发:MVC设计模式与应用(一)
2015-02-04 13:52:53 来源: 作者: 【 】 浏览:73
Tags:程序开发 MVC 设计模式 应用

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。


下面讲解简单的登录操作:


程序流程图:



package com.mvc.linuxidc.vo ;
/**
?*
?* @author 偶my耶
?*? ? 实体类
?*/
public class User {
? ? private String userid ;
? ? private String name ;
? ? private String password ;


? ? public void setUserid(String userid){
? ? ? ? this.userid = userid ;
? ? }
? ? public void setName(String name){
? ? ? ? this.name = name ;
? ? }
? ? public void setPassword(String password){
? ? ? ? this.password = password ;
? ? }
? ? public String getUserid(){
? ? ? ? return this.userid ;
? ? }
? ? public String getName(){
? ? ? ? return this.name ;
? ? }
? ? public String getPassword(){
? ? ? ? return this.password ;
? ? }
}


DatabaseConnection.java


package com.mvc.linuxidc.dbc ;
import java.sql.* ;
/**
?*
?* @author 偶my耶
?*? ? 数据库连接
?*/
public class DatabaseConnection {
? ? private static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
? ? private static final String DBURL = "jdbc:mysql://localhost:3306/mytest" ;
? ? private static final String DBUSER = "root" ;
? ? private static final String DBPASSWORD = "root" ;
? ? private Connection conn = null ;
? ? public DatabaseConnection() throws Exception{
? ? ? ? try{
? ? ? ? ? ? Class.forName(DBDRIVER) ;
? ? ? ? ? ? this.conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
? ? ? ? }catch(Exception e){
? ? ? ? ? ? throw e ;
? ? ? ? }
? ? }
? ? public Connection getConnection(){
? ? ? ? return this.conn ;
? ? }
? ? public void close() throws Exception{
? ? ? ? if(this.conn != null){
? ? ? ? ? ? try{
? ? ? ? ? ? ? ? this.conn.close() ;
? ? ? ? ? ? }catch(Exception e){
? ? ? ? ? ? ? ? throw e ;
? ? ? ? ? ? }
? ? ? ? }
? ? }


}


?


package com.mvc.linuxidc.dao ;
import com.mvc.linuxidc.vo.User;
public interface IUserDAO {
? ?
? ? public boolean findLogin(User user) throws Exception ;
}


?


package com.mvc.linuxidc.dao.impl ;


import com.mvc.linuxidc.dao.*;
import com.mvc.linuxidc.vo.User;
import java.sql.* ;
/**
?*
?* @author 偶my耶
?*? ? Dao实现类
?*/
public class UserDAOImpl implements IUserDAO {
? ? private Connection conn = null ;
? ? private PreparedStatement pstmt = null ;
? ? public UserDAOImpl(Connection conn){
? ? ? ? this.conn = conn ;
? ? }
? ? public boolean findLogin(User user) throws Exception{
? ? ? ? boolean flag = false ;
? ? ? ? String sql = "SELECT name FROM user WHERE userid=? AND password=?" ;
? ? ? ? this.pstmt = this.conn.prepareStatement(sql) ;
? ? ? ? this.pstmt.setString(1,user.getUserid()) ;
? ? ? ? this.pstmt.setString(2,user.getPassword()) ;
? ? ? ? ResultSet rs = this.pstmt.executeQuery() ;
? ? ? ? if(rs.next()){
? ? ? ? ? ? user.setName(rs.getString(1)) ;? ?
? ? ? ? ? ? flag = true ;
? ? ? ? }
? ? ? ? this.pstmt.close() ;
? ? ? ? return flag ;
? ? }
}


?


DAOFactory.java


package com.mvc.linuxidc.factory ;
import com.mvc.linuxidc.dao.*;
import com.mvc.linuxidc.dao.proxy.*;
/**
?*
?* @author 偶my耶
?*? ? 工厂接口
?*/
public class DAOFactory {
? ? public static IUserDAO getIUserDAOInstance(){
? ? ? ? return new UserDAOProxy() ;
? ? }
}


UserDAOProxy.java


package com.mvc.linuxidc.dao.proxy ;
import com.mvc.linuxidc.dbc.DatabaseConnection;
import com.mvc.linuxidc.dao.IUserDAO;
import com.mvc.linuxidc.dao.impl.UserDAOImpl;
import com.mvc.linuxidc.vo.User;
/**
?*
?* @author 偶my耶
?*? ? 工厂类 实现业务操作
?*/
public class UserDAOProxy implements IUserDAO {
? ? private DatabaseConnection dbc = null ;
? ? private IUserDAO dao = null ;
? ? public UserDAOProxy(){
? ? ? ? try{
? ? ? ? ? ? this.dbc = new DatabaseConnection() ;
? ? ? ? }ca

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇AJAX开发技术入门基础知识 下一篇定时cronjob调用Java程序

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: