登录及注册可实现的功能 (基于jsp)
- 创建数据库
- 在数据库中添加数据
- 在Myeclipse中写实体类:
package com.sxdx.vo;
/** * 创建存储体 用户 * @author MR li * */
public class UserInfo {
private int ID;
private String username;
private String password;
private int power;
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}
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 getPower() {
return power;
}
public void setPower(int power) { this.power = power; }
```}
```java
package com.sxdx.vo;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.sxdx.vo.UserInfo;
/**
1. 登录验证
2. @author MR li
3. */
public class UserInfoDAO {
//验证登录 返回POwer 判断去向
public int checkLogin(String username,String password)
{
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
int flag=0;
try
{
conn=BaseDAO.getConn();
ps=conn.prepareStatement("select * from Users where username=? and password=?");
ps.setString(1, username);
ps.setString(2, password);
rs=ps.executeQuery();
if(rs.next())
{
flag=Integer.parseInt(rs.getString("power"));
System.out.println("查询用户成功!");
}
}catch(Exception ex)
{
ex.printStackTrace();
}finally
{
BaseDAO.closeAll(conn, ps, rs);
}
return flag;
}
/**
* h获取ID 用于session传值
* @param user
* @return
*/
public int getID(String username)
{
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
int flag=0;
try
{
conn=BaseDAO.getConn();
ps=conn.prepareStatement("select userID from Users where username=?" );
ps.setString(1, username);
rs=ps.executeQuery();
if(rs.next())
{
flag=Integer.parseInt(rs.getString("ID"));
System.out.println("查询用户成功!");
}
}catch(Exception ex)
{
ex.printStackTrace();
}finally
{
BaseDAO.closeAll(conn, ps, rs);
}
return flag;
}
@SuppressWarnings("finally")
public boolean addUser(UserInfo user){
//注册用户
boolean flag=false;
Connection conn=null;
PreparedStatement ps=null;
try {
conn=BaseDAO.getConn();
String sql="insert into userinfo(loginName,loginPass,power) values(?,?,?)";
ps=conn.prepareStatement(sql);
System.out.println(user.getusername());
ps.setString(1,user.getusername());
ps.setString(2,user.getpassword());
ps.setInt(3,user.getPower());
int mark=ps.executeUpdate();
if(mark!=0){
flag=true;
}
BaseDAO.closeAll(conn, ps, null);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
return flag;
}
}
/**
4. 校验用户名是否存在
5. @param msguser
6. @return
*/
public boolean checkUseruName(String name){
boolean flag=false;
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
conn=BaseDAO.getConn();
String sql="select * from Users where username=?";
try {
ps=conn.prepareStatement(sql);
ps.setString(1, name);
rs=ps.executeQuery();
if(rs.next()){
flag=true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("查询用户失败!");
}finally{
BaseDAO.closeAll(conn, ps, rs);
}
return flag;
}
}
采用session对象的方法保存用户名:
String username=request.getParameter("username");
//创建一个session对象
HttpSession session = request.getSession();
//将用户名保存到session中
session.setAttribute("username",username);