javaweb实现登录(含数据库)

本文详细介绍了使用JavaWeb实现带有数据库交互的登录系统的全过程。从前端表单设计到后端数据库查询,再到登录验证逻辑的实现,每一步都配有具体代码示例。特别关注了表单提交与Servlet接收数据的流程,以及如何通过JavaBean映射数据库查询结果。

javaweb实现登录(含数据库)

前端页面实现

这里我们就简单的用form在页面做个可以提交的表单,注意此时form的action属性,这里我们先不设置它的值。

 		<form action="">
            用户名:<input type="text" name="uname"><br>
            密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password" name="pwd"><br>
            <button type="submit">登录</button>
        </form>

数据库设计

这部分我们主要设计好类,做好setget方法
在这里插入图片描述

登录功能实现

即利用java实现对数据库的查询,先连接数据库,然后包装好查询的方法,如下:

	public static <T> T queryOne(Class<T> t, String sql, Object... params) {
		// 获取查询到到数据集合
		List<Map<String, Object>> list = queryMaps(sql, params);
		if (list.size() > 0) {
			// 获取一个Map对象
			Map<String, Object> map = list.get(0);
			// 将map集合转换为Javabean并返回
			return mapToBean(map, t);
		}
		return null;
	}

注意:这里return的是一个对象
再将方法实现

public Zuser seleByDname(String name){
        String sql = "select * from dept where uname=?";
        return DBUtils2.queryOne(Zuser.class,sql,name);
    }

注意web部分来了

这部分分可以将前端提前交的数据进行操作,比如现在,我获取到前端提交的需要验证的用户名和密码,调用上面实现好的查询方法查询数据库,再对方法返回的对象进行进一步判断,得出用户名和密码是否正确
注:之前我们在上面的表单中并未设好属性action的值,这里说明一下,form的action目标会是一个虚拟的地址,和web例的@WebServlet("/denglu")相连,这两者的属性值决定了网页提交数据的路径和目标,所以form的action=“denglu”;

@WebServlet("/denglu")
public class dengluServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String uname = request.getParameter("uname");
        String pwd = request.getParameter("pwd");

        Zuserdao dao = new Zuserdao();
        Zuser x = dao.seleByDname(uname);

        System.out.println(x);
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();

        if (x != null){
            if (x.getPwd().equals(pwd)){
                out.println("success!!");
            }else {
                out.println("密码错误!");
            }
        }else{
            out.println("账号不存在!");
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值