栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

制作简易的用户名和密码登录页面

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

制作简易的用户名和密码登录页面

需求:通过服务端运行,用户可以在网页中进行账户,密码的登入,如果登入的账户密码正是我们提前添加在数据库中的数据一致,则网页提示登录成功,否则网页提示登入失败。

《1》、准备工作:

       【1】使用的工具:i-dea     linux虚拟机      SQLyog

       【2】i_dea中准备以下几个jar包:

                 hamcrest-core-1.3.jar   

                 junit-4.12.jar     

                 mysql-connector-java-5.138.jar

                 Tomcat.8.5.45

       【3】linux虚拟机中安装并配置好环境变量:

                 jdk-8u221-linux-64.tar.gz

                 MySQL-server-5.6.46-1.el7.x86

       【4】SQLyog:

                 成功连接上linux虚拟机。

《2》、具体操作:

1.首先我这边在i-dea中新建工程下做的新建文件名如下:

2.在SQLyog中school库中创建了tb_user_info表,并且填入数据如下图

3.User.java   代码如下:

package cn.kgc;


public class User {
    private int user_id;
    private String username;
    private String password;

    @Override     //to String 方法
    public String toString() {
        return "User{" +
                "user_id=" + user_id +
                ", username='" + username + ''' +
                ", password='" + password + ''' +
                '}';
    }

    public int getUser_id() {
        return user_id;
    }

    public void setUser_id(int user_id) {
        this.user_id = user_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;
    }
}

4.UserDao.java   代码如下:

package cn.kgc;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class UserDao {
    private Connection conn;
    private PreparedStatement pst;
    public ResultSet rs; //只有查询才用到,增删改用不到这步
    //下面4步为连接虚拟机中的MySQL
    private final String DRIVER = "com.mysql.jdbc.Driver";
    private final String URL = "jdbc:mysql://192.168.31.21:3306/school";//虚拟机IP地址
    private final String USER = "root";//虚拟机中MySQL用户名
    private final String PWD = "ok"; //虚拟机中MySQL密码

    public void getConn() throws Exception { //1.获取连接
        Class.forName(DRIVER);//加载驱动
        conn = DriverManager.getConnection(URL, USER, PWD);//创建连接
    }

    //2.增删改
    public void doUpdate(String sql, String... params) throws SQLException {
        pst = conn.prepareStatement(sql);
        for (int i = 0; i < params.length; i++) {
            pst.setObject(i + 1, params[i]);
        }
        int rst = pst.executeUpdate();
        System.out.println(rst > 0 ? "执行成功" : "执行失败");
    }

    //3.查
    public void doSelect(String sql, String... params) throws SQLException {
        pst = conn.prepareStatement(sql);
        for (int i = 0; i < params.length; i++) {
            pst.setObject(i + 1, params[i]);
        }
        rs = pst.executeQuery();
    }


    public List getUserList() throws Exception{
        List userList=new ArrayList<>();
        while(rs.next()){
            User u=new User();
            u.setUser_id(rs.getInt("user_id") );
            u.setUsername(rs.getString("username"));
            u.setPassword(rs.getString("password"));
            userList.add(u);
        }
        return userList;
    }
}

5.UserServlet.java   代码如下:

package cn.kgc;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;


public class UserServlet extends HttpServlet {
    //下面的@Override 用快捷键alt+回车,选择Create class 'HttpServlet'
    //添加的是最上端我所添加的包
    @Override   //页面请求有两种类型,get请求会默认走到dgGet()方法
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        UserDao dao=new UserDao();
        String user=req.getParameter("user");
        String pwd=req.getParameter("pwd");
        try {
            dao.getConn();
            String sql="select * from tb_user_info where username=? and password=?";
            dao.doSelect(sql,user,pwd);
            User u=dao.getUser();//根据用户输入的用户名和密码去数据库查询获取用户对象
            //如果用户对象为空,则没有该用户,则无法登录,如果有,则可以登录
            HttpSession session =req.getSession();
            if(null==u){//用户名密码错误,不能登录
                session.setAttribute("err","用户名密码错误,不能登录");
                resp.sendRedirect("/logErr.jsp");//重定向
            }else{//可以登录
                session.setAttribute("msg","欢迎用户"+user+"登录!");
                req.getRequestDispatcher("/logSuccess.jsp").forward(req,resp);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override    //post请求会默认走到doPost()方法
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.service(req, resp);
    }
}

6.test.cn.kgc.UserDao Test.java    代码如下:

package cn.kgc;
import org.junit.Test;
import java.util.List;

public class UserDaoTest {

    @Test
    public void aaa() throws Exception {  //查询并把结果放入用户对象
        String sql="select * from tb_user_info";
        UserDao dao=new UserDao();
        dao.getConn();
        dao.doSelect(sql) ;
        List users=dao.getUserList();
        System.out.println(users);
    }
}

 7.web.xml  代码如下:       



    
        userServlet
        cn.kgc.UserServlet
    
    
        userServlet
        /doLogin
    

8.index.jsp   代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

  
    登录页面
  
  
  

9.logErr.jsp    代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    登录错误页面


${err}

10.logSuccess,jsp    代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    登录成功


${msg}

《3》、结果展示:

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/641881.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号