前后端与数据库的交互
mysql调用数据库
如何在jsp上调用数据库
导包
可以先用user类名进行导包,可以根据实际情况操作
package longin1;
public class User {
private String userName;
private String passWord;
private int qq;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public int getQq() {
return qq;
}
public void setQq(int qq) {
this.qq = qq;
}
@Override
public String toString() {
return "User [passWord=" + passWord + ", qq=" + qq + ", userName="
+ userName + "]";
}
}
package longin1;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import sun.applet.Main;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.sun.corba.se.spi.orbutil.fsm.Guard.Result;
public class JDBC {
public static User findUserByPas(String userName, String passWord) {
User user = new User();
String sql = "select * from user where username=? and password=?";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/qqzone", "root", "123456");
PreparedStatement preparedStatement = (PreparedStatement) con
.prepareStatement(sql);
preparedStatement.setString(1, userName);
preparedStatement.setString(2, passWord);
ResultSet res = preparedStatement.executeQuery();
while (res.next()) {
user.setUserName(res.getString("username"));
user.setPassWord(res.getString("password"));
user.setQq(res.getInt("qq"));
}
preparedStatement.close();
con.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return user;
}
public static void main(String[] args) {
User u = findUserByPas("admin", "123");
System.out.println(u);
}
}
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>qq空间</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>
<form action="login_action.jsp">
用户名<input type="text" name="username"><br>
密 码<input type="password" name="password">
<input type= "submit" value="登录">
</form>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="longin1.User"%>
<%@page import="longin1.JDBC"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.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>
<%
String msg = "";
String username = request.getParameter("username");
String pwd = request.getParameter("password");
User user = JDBC.findUserByPas(username, pwd);
if (username.equals(user.getUserName())
&& pwd.equals(user.getPassWord())) {
msg = "登录成功!";
} else {
msg = "账号或密码错误!请重新输入!";
}
%><%=msg %>
</body>
</html>
测试一下
测试成功!