架構執行個體之Demo_JSP_JavaBean,demo_jsp_javabean

來源:互聯網
上載者:User

架構執行個體之Demo_JSP_JavaBean,demo_jsp_javabean

架構執行個體之Demo_JSP_JavaBean

1、開發工具和開發環境

     開發工具: MyEclipse10,JDK1.6.0_13(32位),Tomcat7.0(32位),mysql5.7.13

    開發環境:WIN10

2、Demo_JSP_JavaBean實現功能

     使用者登入、使用者註冊、退出登入。

3、Demo_JSP_Java_Bean使用技術

     本執行個體使用了JSP、JavaBean和JDBC來實現使用者登入、使用者註冊和退出登入功能。系統架構圖一所示:

 圖一:Demo_JSP_Java_Bean系統架構圖

 

    下面請看圖二(系統中JSP與JavaBean之間的邏輯關係圖):

 

  

圖二:系統中JSP與JavaBean之間的邏輯關係圖

 

4、具體實現

(1)在MyEclipse中建立一個Web project項目,並命名為Demo_JSP_JavaBean;

(2)向Demo_JSP項目中匯入mysql-connector-java-5.1.6-bin.jar,這個包是實現Java串連資料庫功能的包(不會匯入包的同學,可以百度喲);

   附:mysql-connector-java-5.1.6-bin.jar百度雲下載連結:http://pan.baidu.com/s/1i5psdDF 密碼:meyg

(3)在Demo_JSP項目中建立以下JavaBean檔案和JSP檔案(PS:其中JSP檔案代碼此處只貼出部分代碼,其他JSP檔案代碼請參考本人上一篇部落格哦(連結地址:http://www.cnblogs.com/liuzhen1995/p/5700409.html)):

      1)建立Java類DBAccess,包名取為liu,該類實現資料庫登入串連的功能,具體代碼如下:

 

package liu;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DBAccess {    private String drv = "com.mysql.jdbc.Driver";    private String url = "jdbc:mysql://localhost:3306/library_system";    private String usr = "root";    private String pwd = "root";    private Connection conn = null;    private Statement stm = null;    private ResultSet rs = null;    public boolean createConn() {        boolean b = false;        try {            Class.forName(drv).newInstance();            conn = DriverManager.getConnection(url, usr, pwd);            b = true;        } catch (SQLException e) {        } catch (ClassNotFoundException e) {        } catch (InstantiationException e) {        } catch (IllegalAccessException e) {        }        return b;    }    public boolean update(String sql) {        boolean b = false;        try {            stm = conn.createStatement();            stm.execute(sql);            b = true;        } catch (Exception e) {            System.out.println(e.toString());        }        return b;    }    public void query(String sql) {        try {            stm = conn.createStatement();            rs = stm.executeQuery(sql);        } catch (Exception e) {        }    }        public boolean next() {        boolean b = false;        try {            if(rs.next())b = true;        } catch (Exception e) {        }        return b;            }        public String getValue(String field) {        String value = null;        try {            if(rs!=null)value = rs.getString(field);        } catch (Exception e) {        }        return value;    }    public void closeConn() {        try {            if (conn != null)                conn.close();        } catch (SQLException e) {        }    }    public void closeStm() {        try {            if (stm != null)                stm.close();        } catch (SQLException e) {        }    }    public void closeRs() {        try {            if (rs != null)                rs.close();        } catch (SQLException e) {        }    }    public Connection getConn() {        return conn;    }    public void setConn(Connection conn) {        this.conn = conn;    }    public String getDrv() {        return drv;    }    public void setDrv(String drv) {        this.drv = drv;    }    public String getPwd() {        return pwd;    }    public void setPwd(String pwd) {        this.pwd = pwd;    }    public ResultSet getRs() {        return rs;    }    public void setRs(ResultSet rs) {        this.rs = rs;    }    public Statement getStm() {        return stm;    }    public void setStm(Statement stm) {        this.stm = stm;    }    public String getUrl() {        return url;    }    public void setUrl(String url) {        this.url = url;    }    public String getUsr() {        return usr;    }    public void setUsr(String usr) {        this.usr = usr;    }}

      2)在上一步中建立的包下,再建立一個Java類UserBean,該類實現資料庫查詢和寫入功能,具體代碼如下:

package liu;public class UserBean {    public boolean valid(String username, String password) {        boolean isValid = false;        DBAccess db = new DBAccess();        if(db.createConn()) {            String sql = "select * from userInfo where username='"+username+"' and password='"+password+"'";            db.query(sql);            if(db.next()) {                isValid = true;            }            db.closeRs();            db.closeStm();            db.closeConn();        }        return isValid;    }        public boolean isExist(String username) {        boolean isExist = false;        DBAccess db = new DBAccess();        if(db.createConn()) {            String sql = "select * from userInfo where username='"+username+"'";            db.query(sql);            if(db.next()) {                isExist = true;            }            db.closeRs();            db.closeStm();            db.closeConn();        }        return isExist;    }        public void add(String username, String password, String email) {        DBAccess db = new DBAccess();        if(db.createConn()) {            String sql = "insert into userInfo(username,password,mail) values('"+username+"','"+password+"','"+email+"')";            db.update(sql);            db.closeStm();            db.closeConn();        }    }}

      3)login_action.jsp,接受login.jsp頁面中使用者輸入的使用者名稱和密碼,通過調用JavaBean實現登入認證,具體代碼如下:

<%@ page import="liu.UserBean" %><%//get parametersString username = request.getParameter("username");String password = request.getParameter("password");//check nullif (username == null || password == null) {    response.sendRedirect("login.jsp");}//validateUserBean userBean = new UserBean();boolean isValid = userBean.valid(username, password);if (isValid) {    session.setAttribute("username", username);    response.sendRedirect("welcome.jsp");} else {    response.sendRedirect("login.jsp");}%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>         <title>My JSP 'login_action.jsp' starting page</title>        <meta http-equiv="pragma" content="no-cache">    <meta http-equiv="cache-control" content="no-cache">    <meta http-equiv="expires" content="0">        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="This is my page">    <!--    <link rel="stylesheet" type="text/css" href="styles.css">    -->  </head>    <body>      </body></html>

      4)register_action.jsp,通過調用JavaBean實現註冊,並把資料寫入資料庫,具體代碼如下:

<%@ page import="liu.UserBean" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%//get parametersString username = request.getParameter("username");String password1 = request.getParameter("password1");String password2 = request.getParameter("password2");String email = request.getParameter("email");//check nullif (username == null || password1 == null || password2 == null || !password1.equals(password2)) {    response.sendRedirect("register.jsp");}//validateUserBean userBean = new UserBean();boolean isExist = userBean.isExist(username);if(!isExist) {    userBean.add(username, password1, email);    response.sendRedirect("login.jsp");} else {    response.sendRedirect("register.jsp");}%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">        <title>My JSP 'register_action.jsp' starting page</title>        <meta http-equiv="pragma" content="no-cache">    <meta http-equiv="cache-control" content="no-cache">    <meta http-equiv="expires" content="0">        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="This is my page">    <!--    <link rel="stylesheet" type="text/css" href="styles.css">    -->  </head>    <body>      </body></html>

5、運行結果展示

      具體運行結果請參考本人上一篇部落格哦,運行結果是一模一樣的(連結地址:http://www.cnblogs.com/liuzhen1995/p/5700409.html)~~~

      附:Demo_JSP_JavaBean項目源碼檔案百度雲下載連結:http://pan.baidu.com/s/1sl1nd9r 密碼:lrdk;         本執行個體所使用資料庫建表sql語句檔案下載連結:http://pan.baidu.com/s/1eS0n9aM 密碼:7ttd

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.