zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    求列表中指定元素的位置
    Hash_P1026毒药?解药?
    Hash_集合
    bzoj1483: [HNOI2009]梦幻布丁
    bzoj1724: [Usaco2006 Nov]Fence Repair 切割木板
    容斥原理
    bzoj1042: [HAOI2008]硬币购物
    [Noi2016十连测第五场]二进制的世界
    NOI2016模拟赛Zbox loves stack
    bzoj2038: [2009国家集训队]小Z的袜子(hose)
  • 原文地址:https://www.cnblogs.com/ququ1314/p/8979097.html
Copyright © 2011-2022 走看看