欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javaweb实现登录(含数据库)

程序员文章站 2022-05-08 16:00:26
...

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方法
javaweb实现登录(含数据库)

登录功能实现

即利用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("账号不存在!");
        }
    }