鸡汤来咯 2023-03-18 19:53 采纳率: 11.1%
浏览 88
已结题

javaweb eclipse

登录获取的是数据库里面的username和password,想实现登录跳转的界面只显示登录账号的数据库信息,目前显示的是数据库里面的全部信息

dao层:public List<Only> findAll();
daoimpl层: public List<Only> findAll() {
        //使用JDBC操作数据库...
        //1.定义sql
        String sql = "select * from only";
        List<Only> students = template.query(sql, new BeanPropertyRowMapper<Only>(Only.class));
 
        return students;
    }
service层: public List<Only> findAll();
serviceimpl层:public List<Only> findAll() {
        //调用Dao完成查询
        return dao.findAll();
servlet层:/获取条件查询参数
        Map<String, String[]> condition = request.getParameterMap();
        //2.调用service查询
        OnlyService service = new OnlyServiceImpl();
        PageBean<Only> pb = service.findUserByPage(currentPage,rows,condition);
        System.out.println(pb);
        //3.将PageBean存入request
        request.setAttribute("pb",pb);
        request.setAttribute("condition",condition);//将查询条件存入request
        //4.转发到slist.jsp
        request.getRequestDispatcher("/slist.jsp").forward(request,response);
    }
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
jsp页面:
        <table border="1" class="table table-bordered table-hover">
        <tr class="success">
            
            <th class="yc">序号
            姓名
            事务
            操作
        
         <c:forEach items="${pb.list}" var="only" varStatus="s">
            
                
            
                <td class="yc">${only.uid}
                ${only.username}
                ${only.event}
                <a class="btn btn-default btn-sm" href="${pageContext.request.contextPath}/findStudentServlet?uid=${only.uid}">修改 
                   
            
 
        </c:forEach>
 
登录servlet: Map<String, String[]> map = request.getParameterMap();
        //4.封装Studentl对象
        Studentl studentl = new Studentl();
        try {
            BeanUtils.populate(studentl,map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
        //5.调用Service查询
        SlService service = new LoginServiceImpl();
        Studentl SlStudent = service.Sl(studentl);
        //6.判断是否登录成功
        if(SlStudent != null){
            //登录成功
            //将用户存入session
            session.setAttribute("studentl", SlStudent);
            //跳转页面
            response.sendRedirect(request.getContextPath()+"/findStudentByPageServlet");
        }else{
            //登录失败
            //提示信息
            request.setAttribute("login_msg","用户名或密码错误!");
            //跳转登录页面
            request.getRequestDispatcher("/stulogin.jsp").forward(request,response);

        }
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}


  • 写回答

9条回答 默认 最新

  • CSDN专家-sinJack 2023-03-18 20:29
    关注

    登陆成功后,跳转的页面是哪个?
    登陆成功后,页面应该从studentl 中获取当前登陆的用户信息,登陆后还是显示所有信息的话,应该取的是findAll方法返回的pl 集合中的数据。所以页面跳转是不是跳错了?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

问题事件

  • 系统已结题 3月26日
  • 已采纳回答 3月18日
  • 创建了问题 3月18日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵