javaweb之登录

第一步:在数据库里创建一个数据库和相对应的用户表格

第二步:创建com.modal
public class UserInfo {
private int id;
private String name;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
第三步:创建接口和创建方法
public interface IUserDAL {
public UserInfo login (String name,String password);
}
第四步:创建java类实现验证,驱动注册,数据连接
public class DBUtil {
private static String driver;
private static String name;
private static String url;
private static String password;
static{
Properties prop=new Properties();
try {
prop.load(DBUtil.class.getClassLoader().getResourceAsStream("config.properties"));
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("配置文件错误");
}
driver=prop.getProperty("driverClassName");
url=prop.getProperty("url");
name=prop.getProperty("name");
password=prop.getProperty("password");
//尝试注册驱动
try {
Class.forName(driver);


} catch (Exception e) {
// TODO: handle exception
System.out.println("驱动注册失败");
}
}
public static Connection Open(){


Connection conn =null;
try {
conn=(Connection)DriverManager.getConnection(url,name,password);
} catch (SQLException e) {
// TODO: handle exception
System.out.println("数据库连接失败");
}
return conn;



}
}
第五步:创建java类实现创建的接口,从数据库中得到相应的数据实现连接
public class UserDAL implements IUserDAL{

@Override


public UserInfo login(String name, String password) {
// TODO Auto-generated method stub
//调用数据库工具类连接数据库
Connection conn=DBUtil.Open();
//验证登录的sql语句
String sql="select * from users where name=? and password=?";

try {
PreparedStatement pstt=conn.prepareStatement(sql);
//对应占位符传递参数
pstt.setString(1, name);
pstt.setString(2, password);


ResultSet rs=pstt.executeQuery();
if(rs.next()){
int id=rs.getInt(1);
UserInfo u=new UserInfo();
u.setId(id);
u.setName(name);
u.setPassword(password);

return u;
}


} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println(e);
e.printStackTrace();
}
System.out.println("shiiba");

return null;
}
}
第六步:创建一个登录的servlet
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//执行登录操作
String name=request.getParameter("name");
String password=request.getParameter("password");


//后台验证参数不为空
if(null==name||"".equals(name.trim())){
//如果用户名为空则退出程序
response.sendRedirect("login.jsp");
return;
}

if(null==password||"".equals(password.trim())){
//如果用户名为空则退出程序
response.sendRedirect("login.jsp");
return;
}

UserDAL userdal=new UserDAL();
UserInfo u=userdal.login(name, password);

//如果用户对象为空
if(u==null){
//登录失败

response.sendRedirect("login.jsp");
}else{
//登录成功
HttpSession session=request.getSession();
session.setAttribute("UserSession", u);
response.sendRedirect("ShowBooklist");
}
}
}
第七步创建个配置文件config.properties
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/数据库的名
name=root
password=root
第八步:创建个login.jsp登录页面
<form action="UserLogin" method="post">
<input type="text" id="name" name="name" placeholder="用户名">
<input type="text" id="password" name="password" placeholder="密码">
<input type="submit"value="登录"/>
</form>

原文地址:https://www.cnblogs.com/ququ1314/p/8979097.html