zoukankan      html  css  js  c++  java
  • 利用Java和jsp实现简单的后台登录系统

    欢迎关注本人公众号:Bean冷的心,内容包含计算机网络、数据结构与算法、科技资讯和知识扫盲,期待结实各位大佬和对计算机感兴趣的小伙伴~
    在这里插入图片描述

    一、成品图

    第一次写,请大佬们轻喷…最近刚开始学习JavaWeb,学习了两周,实现了简单的后台登录系统,现在做一个回顾,只考虑如何实现登录功能,所以没有做美化,见谅。结果图如下。输入用户名和密码:
    输入完用户名和密码之后哦
    通过数据库进行比对之后,如果输入正确,则:验证成功界面
    如果输入失败,则返回:

    在这里插入图片描述

    二、实现步骤

    功能就是这样,很简单。思路是
    1.要有一个表单用来接收从键盘输入的用户名和密码
    2.要有数据库存储数据
    3.要有验证功能
    大致就是这样几点功能,所以首先建立一个Web项目,因为要验证用户的信息,所以创建一个User类,属性有ID,姓名,密码,直接get、set方法:

    public class User {
    	private int uid;
    	private String uname;
    	private String password;
    	public int getUid() {
    		return uid;
    	}
    	public void setUid(int uid) {
    		this.uid = uid;
    	}
    	public String getUname() {
    		return uname;
    	}
    	public void setUname(String uname) {
    		this.uname = uname;
    	}
    	public String getPassword() {
    		return password;
    	}
    	public void setPassword(String password) {
    		this.password = password;
    	}
    	public String toString() {
    		return "User [uid=" + uid + ", uname=" + uname + ", password="
    				+ password + "]";
    	}
    }
    

    数据库直接使用Navicat生成一个user表,添加两个数据即可,我的数据是这样
    数据库信息

    既然要验证用户名和密码的正确性,所以需要创建一个UserDao,创建相应的方法,我只验证密码,所以只创建了验证功能,代码如下:

    public User SelectOne(String name,String pwd) {
    		Connection conn = null;
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    		try {
    			//1.連接數據庫
    			conn = DBUtils.getConn();
    			//2.創建語句
    			String sql="select * from user where uname = ? and password = ?";
    			ps = conn.prepareStatement(sql);
    			ps.setString(1, name);
    			ps.setString(2, pwd);
    			//3.執行語句
    			rs = ps.executeQuery();
    			if(rs.next()) {
    				User user = new User();
    				user.setUid(rs.getInt("uid"));
    				user.setUname(rs.getString("uname"));
    				user.setPassword(rs.getString("password"));
    				return user;
    			}
    		} catch (SQLException e) {
    			e.printStackTrace();
    		} finally {
    			DBUtils.close(conn, ps, rs);
    		}
    		return null;
    	}
    

    万事俱备,只差Servlet最后一步了,代码如下:

    public class LoginServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp)
    		throws ServletException, IOException {
    	//1.設置解決post方式中文亂碼問題
    	req.setCharacterEncoding("utf-8");
    	//2.獲取表單訊息
    	String uname = req.getParameter("uname");
    	String pwd = req.getParameter("pwd");
    	//3.邏輯判斷
    	UserDao ud = new UserDao();
    	User user = ud.SelectOne(uname, pwd);
    	System.out.println(user);
    	if(user!=null) {
    		req.setAttribute("user", user);
    		req.getRequestDispatcher("welcome.jsp").forward(req, resp);;
    	}else {
    		req.setAttribute("error", "用戶名或密碼輸入不正確");
    		req.getRequestDispatcher("index.jsp").forward(req, resp);
    	}
    }
    }
    

    相关jsp代码太简单了,就不展示了。

    欢迎关注本人公众号:Bean冷的心,内容包含计算机网络、数据结构与算法、科技资讯和知识扫盲,期待结实各位大佬和对计算机感兴趣的小伙伴~

  • 相关阅读:
    Android编译系统环境过程初始化分析【转】
    Android内核开发:理解和掌握repo工具【转】
    QQ空间如何设置被删除的好友不能访问空间
    用简单的C语言实现多任务轮流切换(模拟操作系统线程机制)【转】
    可重入函数与不可重入函数【转】
    关于链表中头指针和头结点的理解【转】
    C语言中static的使用方法【转】
    指针与地址的区别【转】
    柔性数组【转】
    void及void指针介绍【转】
  • 原文地址:https://www.cnblogs.com/taobean/p/12364235.html
Copyright © 2011-2022 走看看