数据库test 中建个表 stu(stuid 主键 自动增长 ,用户名,密码,年龄)
1.设计一个注册页面,实现用户注册功能
2.设计一个登陆页面,实现用户名密码登陆
3.两个页面可以互相超链接
BaseDao.java
package dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class BaseDao {
// 获取连接
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
// 2.建立连接
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "root");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
// 关闭连接
public static void closeAll(Connection con, PreparedStatement ps, ResultSet rs) {
try {
if (rs != null)
rs.close();
if (ps != null)
ps.close();
if (con != null)
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
stuDao.java
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class stuDao {
public static void main(String[] args) {
stuDao s=new stuDao();
String sname="张三";
int pwd=12;
System.out.println(s.login(sname, pwd));
}
public student login(String sname, int pwd) {
Connection conn = BaseDao.getConnection();
student s=null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
String sql = "select * from stu where sname=? and pwd=?";
ps = conn.prepareStatement(sql);
ps.setString(1, sname);
ps.setInt(2, pwd);
rs = ps.executeQuery();
if (rs.next()) {
s=new student();
String name=rs.getString("sname");
s.setSname(name);
return s;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
BaseDao.closeAll(conn, ps, rs);
}
return s;
}
public int reg(String sname, int pwd, int age) {
Connection conn = BaseDao.getConnection();
PreparedStatement ps = null;
int r = -1;
try {
String sql = "insert into stu(sname,pwd,age) values(?,?,?)"; // 2个占位符
// 4.执行SQL语句
ps = conn.prepareStatement(sql);
ps.setString(1, sname);
ps.setInt(2, pwd);
ps.setInt(3, age);
r = ps.executeUpdate();// 增删改都用这个
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
BaseDao.closeAll(conn, ps, null);
}
return r;
}
}
student.java
package dao;
public class student {
String sname;
int pwd;
int age;
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public int getPwd() {
return pwd;
}
public void setPwd(int pwd) {
this.pwd = pwd;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "student [sname=" + sname + ", pwd=" + pwd + ", age=" + age
+ "]";
}
}
student.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'student.jsp' starting page</title> </head> <% %> <body> <form action="slogin.jsp"> 学生姓名:<input type="text" name="sname" /> 账号密码:<input type="password" name="spwd" /> <input type="submit" value="登录" /> </form> <form action="slogon.jsp"> <input type="submit" value="注册" /> </form> </body> </html>
slogin.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title></title> </head> <%@ page import="dao.stuDao"%> <% String name = request.getParameter("sname"); String spwd = request.getParameter("spwd"); String sname = new String(name.getBytes("ISO-8859-1"), "utf-8"); try { int pwd = Integer.parseInt(spwd); stuDao studao = new stuDao(); if (studao.login(sname, pwd) != null) { out.println("登录成功!"); } else { out.println("登陆失败!"); out.println("三秒后跳转到主页面..."); response.setHeader("refresh", "3;url=student.jsp"); } } catch (Exception e) { out.println("异常!!"); out.println("三秒后跳转到主页面..."); response.setHeader("refresh", "3;url=student.jsp"); } %> <body> <a href="student.jsp">返回</a> </body> </html>
slogon.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'slogon.jsp' starting page</title> </head> <% %> <body> <h3>请输入信息来完成注册...</h3> <form action="slogon_link.jsp"> 用户名:<input type="text" name="sname" /> 密码:<input type="password" name="spwd" /> 年龄:<input type="text" name="sage" /> <input type="submit" value="注册" /> </form> <a href="student.jsp">返回</a> </body> </html>
slogon_link.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'slogon_link.jsp' starting page</title> </head> <%@ page import="dao.stuDao"%> <% String sname = request.getParameter("sname"); String spwd = request.getParameter("spwd"); String sage = request.getParameter("sage"); String name=new String(sname.getBytes("ISO-8859-1"),"utf-8"); int pwd = Integer.parseInt(spwd); int age = Integer.parseInt(sage); stuDao s = new stuDao(); if (s.reg(sname, pwd, age) != -1) { out.println("注册成功!"); out.println("三秒后跳转到主页..."); response.setHeader("refresh", "3;url=student.jsp"); } else { out.println("注册失败!"); out.println("三秒后跳转到主页..."); response.setHeader("refresh", "3;url=student.jsp"); } %> <body> </body> </html>