MVC模式之我的见解 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    初学j2ee的人很有可能喜欢使用jsp来完成其网站的所有功能,因为其简单方便易学,但是这样的网站维护升级十分困难,并且和asp,PHP做的网站没有什么区别,显示不出java的优点,

MVC模式之我的见解

。MVC模式可以说是一个经典的模式,它将视图,模式,控制三者分开,数据库处理,逻辑处理全部放到后台,客户端只负责显示,维护和升级十分方便,并且由于和XML结合的很好,数据库的移植等都十分方便,只需要修改配置文件,而不必修改源程序再重新编译。再MVC模式中,一般用一个javaBean来存放数据,以实现对数据的封装,下面是一个例子 public class UserBean

    {

    private String name=null;

    private String pwd=null;

    private int id;

    public UserBean(String un,String up,int ui)

    {

    this.name=un;

    this.pwd=up;

    this.id=ui;

    }

    public UserBean()

    {

    }

    public String getName()

    {

    return name;

    }

    public void setName(String name)

    {

    this.name = name;

    }

    public String getPwd()

    {

    return pwd;

    }

    public void setPwd(String pwd)

    {

    this.pwd = pwd;

    }

    public int getId()

    {

    return id;

    }

    public void setId(int id)

    {

    this.id = id;

    }

    }

    一个数据库操作的文件实现对数据库操作的封装,注意防止SQL注入,例如

    import java.sql.Connection; import java.sql.DriverManager;

    import java.sql.PreparedStatement; import java.sql.ResultSet;

    import java.sql.SQLException; import java.sql.Statement;

    import java.util.ArrayList;

    public class DBCon

    {

    private String DBDriver = "org.gjt.mm.mysql.Driver";

    private String connStr ="jdbc:mysql://localhost/cdemo?user=root&password=243161193&useUnicode=true&characterEncoding=GBK";

    private Connection conn = null;

    private ResultSet rs = null;

    private PreparedStatement ps=null;

    public DBCon()

    {

    try

    {

    Class.forName(DBDriver);//sDBDriver);

    }

    catch(java.lang.ClassNotFoundException e)

    {

    System.err.println("conn(): " + e.getMessage());

    }

    }

    public boolean findUser(String name,String pwd)

    {

    boolean find=true;

    try {

    conn=DriverManager.getConnection(connStr);

    //Statement stmt=conn.createStatement();

    String sql="select*from fenye where name=? and pwd=?";

    ps=conn.prepareStatement(sql);

    ps.setString(1, name);

    ps.setString(2, pwd);

    rs=ps.executeQuery();

    //rs=stmt.executeQuery(name);

    if(rs.next())

    find=true;

    }

    catch (SQLException e)

    {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }finally

    {

    //关闭资源

    close();

    return find;

    }

    }

    public ArrayList fenYe(int now,int size)

    {

    int start=(now-1)*size;

    int end=now*size;

    ArrayList al=new ArrayList();

    try {

    conn=DriverManager.getConnection(connStr);

    //Statement stmt=conn.createStatement();

    String sql="select*from fenye where id between ? and ?";

    ps=conn.prepareStatement(sql);

    ps.setInt(1, start);

    ps.setInt(2, end);

    rs=ps.executeQuery();

    while(rs.next())

    {

    int id=rs.getInt(1);

    String name=rs.getString(2);

    String pwd=rs.getString(3);

    UserBean ub=new UserBean(name,pwd,id);

    al.add(ub);

    }

    }

    catch (SQLException e)

    {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }finally

    {

    //关闭资源

    close();

    return al;

    }

    }

    public int getSize()

    {

    int size=0;

    try {

    conn=DriverManager.getConnection(connStr);

    //Statement stmt=conn.createStatement();

    String sql="select count(*) from fenye";

    ps=conn.prepareStatement(sql);

    rs=ps.executeQuery();

    if(rs.next())

    size=rs.getInt(1);

    }

    catch (SQLException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }finally

    {

    //关闭资源

    close();

    return size;

    }

    }

    public void close()

    {

    if(conn!=null)

    try {

    conn.close();

    conn=null;

    }

    catch (SQLException e)

    {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    if(ps!=null)

    try {

    ps.close();

    ps=null;

    } catch (SQLException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    if(rs!=null)

    {

    try {

    rs.close();

    rs=null;

    } catch (SQLException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    }

    /*public static void main(String[] args)

    {

    DBCon d=new DBCon();

    System.out.println(d.getSize());

    ArrayList al=d.fenYe(1, 5);

    if(al!=null)

    {

    for(int i=0;i<5;i++)

    {

    System.out.println(((UserBean)al.get(i)).getName());

    }

    }

    }

    */

    }

最新文章