1.注意事项
jsp中尽可能不要写java代码,所以将访问数据库的java代码封装在javabean中,然后在jsp中调用javabean的对象即可。
在写好javabean调用时,出现了Classes from the default package must not be referenced from JSP file的问题
该问题的解决方法是在src中建一个文件夹,将javabean放在这个文件夹中,而不是直接放在src文件夹中。
2.具体步骤
- 1.先在src中新建一个文件夹,在该文件夹中创建一个类文件。
- 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.封装业务逻辑的javabean(loginDao.java封装了登陆逻辑) 逻辑
将jsp中jdbc代码,封装到login.java类中(login.java)
提高了复用度 以后的登陆操作都可以使用这个类
-*** 2.封装数据的javabean 相当于数据库中的一张表***
1.在包中新建Login.java javabean
2.在javabean中实现对传入数据的赋值get 和set方法
3.在jsp中使用login.java javabean
String name =request.getParameter("uname");
String pwde =request.getParameter("upwd");
Login login = new login(name,pwd);
//此方法可以将两个参数装入一个对象
//通过下面这两个方法取值
login.getname();
login.getpwd();