12.使用javabean訪問數(shù)據(jù)庫

1.注意事項

jsp中盡可能不要寫java代碼,所以將訪問數(shù)據(jù)庫的java代碼封裝在javabean中,然后在jsp中調(diào)用javabean的對象即可。

在寫好javabean調(diào)用時,出現(xiàn)了Classes from the default package must not be referenced from JSP file的問題
該問題的解決方法是在src中建一個文件夾,將javabean放在這個文件夾中,而不是直接放在src文件夾中。

2.具體步驟

  • 1.先在src中新建一個文件夾,在該文件夾中創(chuàng)建一個類文件。
  • 2.在該類中寫java代碼
package jdbc;

import java.sql.*;
public class loginDao {
//傳入姓名和密碼
    public int login(String name, String pwd) throws ClassNotFoundException, SQLException {
        String NAME="root";
        String PWD="密碼";
        String URL = "jdbc:mysql://localhost:3306/user";


        Connection con =null;
        PreparedStatement pstmt=null;
        ResultSet rs =null;

        Class.forName("com.mysql.cj.jdbc.Driver");
        con =DriverManager.getConnection(URL,NAME,PWD);


        String sql="select * from users where name='"+name+"'and password='"+pwd+"'";
        pstmt = con.prepareStatement(sql);
        rs=pstmt.executeQuery();
//如果rs對象存在,則返回1
        if(rs.next()){
            return 1;
        }
        else
        {
            return 0;
        }


    }
}

  • 2.在jsp中使用該對象
<%@ page contentType="text/html;charset=UTF-8" language="java"  %>
<html>
<head>
    <title>logincheck2</title>
</head>
<body>
<%

    String name=request.getParameter("uname");
    String pwd=request.getParameter("upwd");
  jdbc.loginDao Dao =new jdbc.loginDao();
    int s=Dao.login(name,pwd);
if (s=1){
    out.print("登陸成功");
}
else{
    out.print("登陸失敗");
}



%>
</body>
</html>

3.javabean的定義

1.public修飾的類,修飾的無參構造
2.所有的屬性都是private,并且提供get/set

4

  • 1.封裝業(yè)務邏輯的javabean(loginDao.java封裝了登陸邏輯) 邏輯
    將jsp中jdbc代碼,封裝到login.java類中(login.java)
    提高了復用度 以后的登陸操作都可以使用這個類

-*** 2.封裝數(shù)據(jù)的javabean 相當于數(shù)據(jù)庫中的一張表***

1.在包中新建Login.java javabean
2.在javabean中實現(xiàn)對傳入數(shù)據(jù)的賦值get 和set方法
3.在jsp中使用login.java javabean

String name =request.getParameter("uname");
String pwde =request.getParameter("upwd");
Login login = new login(name,pwd);
//此方法可以將兩個參數(shù)裝入一個對象
//通過下面這兩個方法取值
login.getname();
login.getpwd();
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • JSP總結(經(jīng)典) day1 JSP 定義: 1)Java Server Page, Java EE 組件,本...
    91數(shù)據(jù)閱讀 3,634評論 0 13
  • 小編費力收集:給你想要的面試集合 1.C++或Java中的異常處理機制的簡單原理和應用。 當JAVA程序違反了JA...
    八爺君閱讀 5,172評論 1 114
  • 1 Spring框架 1.1 Spring框架 Spring框架是一個分層架構,由7個定義良好的模塊組成。Spr...
    Kevin_Junbaozi閱讀 1,734評論 0 20
  • 一、簡歷準備 1、個人技能 (1)自定義控件、UI設計、常用動畫特效 自定義控件 ①為什么要自定義控件? Andr...
    lucas777閱讀 5,377評論 2 54
  • 前面講了servlet入門實踐現(xiàn)在開始介紹jsp入門實踐,開發(fā)環(huán)境的搭建請參考我前面的tomcat的文章,jsp入...
    伊豚wall閱讀 3,428評論 2 56

友情鏈接更多精彩內(nèi)容