Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将结果集从Servlet传递到JSP_Java_Jsp_Servlets_El_Resultset - Fatal编程技术网

Java 将结果集从Servlet传递到JSP

Java 将结果集从Servlet传递到JSP,java,jsp,servlets,el,resultset,Java,Jsp,Servlets,El,Resultset,我希望将结果集从Servlet传递到JSP页面,并将其值保存在JSP页面中 以下是Servlet的代码: 受保护的void doPost HttpServletRequest请求、HttpServletResponse响应 抛出ServletException、IOException { 字符串用户名=request.getParameterusername; 字符串密码=request.getParameterpassword; PrintWriter out=response.getWrit

我希望将结果集从Servlet传递到JSP页面,并将其值保存在JSP页面中

以下是Servlet的代码:

受保护的void doPost HttpServletRequest请求、HttpServletResponse响应 抛出ServletException、IOException { 字符串用户名=request.getParameterusername; 字符串密码=request.getParameterpassword; PrintWriter out=response.getWriter; 数据选择=新数据用户名、密码; 试一试{ 布尔结果=选择。选择用户名、密码; 如果结果{ ResultSet rset=select.SelectAllusername,密码; 请求。setAttributeuser,rset; getServletConfig.getServletContext .getRequestDispatcher/dashboard.jsp .转发请求、响应; }否则 out.print请检查您的用户名和密码; }捕获异常e{ 似乎有一个例外+e; } } 这里调用的两个函数分别返回布尔值和ResultSet值 Select函数返回布尔值,其中as SelectAll返回结果集

我的JSP代码如下所示:

用户名: 电邮: 联系人:
要继续执行resultset,请初始化对象用户,该用户应具有getter和setter

ResultSet rset=select.SelectAll(username,password);
if (rset.next()){
  User user = new User();
  user.setUsername(rset.get("username"));
  user.setEmail(rset.get("email"));
  user.setContact(rset.get("contact"));
  request.setAttribute("user",user);
  getServletContext().getRequestDispatcher("/dashboard.jsp")
                    .forward(request,response);
}

要继续执行resultset,请初始化对象用户,该用户应具有getter和setter

ResultSet rset=select.SelectAll(username,password);
if (rset.next()){
  User user = new User();
  user.setUsername(rset.get("username"));
  user.setEmail(rset.get("email"));
  user.setContact(rset.get("contact"));
  request.setAttribute("user",user);
  getServletContext().getRequestDispatcher("/dashboard.jsp")
                    .forward(request,response);
}
不要通过结果集!相反,按照模式创建JavaPOJO类,该类中的字段将反映数据库中的列。通过while loop whilers.next{…}从ResultSet提取数据,将值分配给先前创建的POJO类实例,并将该实例添加到列表中,以防传递多个用户。如果有多个用户,则返回列表;如果只有一个用户,则返回一个实例

将对象列表设置为属性,并在多个用户的情况下通过JSP中的JSTL forEach循环对其进行迭代。

不要传递ResultSet!相反,按照模式创建JavaPOJO类,该类中的字段将反映数据库中的列。通过while loop whilers.next{…}从ResultSet提取数据,将值分配给先前创建的POJO类实例,并将该实例添加到列表中,以防传递多个用户。如果有多个用户,则返回列表;如果只有一个用户,则返回一个实例


将对象列表设置为属性,并在多个用户的情况下通过JSP中的JSTL forEach循环对其进行迭代。

那么您面临的错误或异常是什么?您确定ResultSet类包含username属性吗?!!我不会直接将结果集传递给JSP,而是从结果集中提取信息,并在适当的DTO中公开它。Dave是对的,像这样使用结果集不是一个好主意,看看你面临什么错误或异常?你确定ResultSet类包含username属性吗?!!我不会将结果集直接传递给JSP,而是从结果集中提取信息,并将其暴露在适当的DTO中。Dave是对的,使用这样的结果集不是一个好主意,请参阅Username:$user.Username Email:$user.Email Contact:$user.Contact这是我在创建类并将结果集的内容添加到它之后得到的输出,因为大括号用于EL表达式${user.Email}。谢谢先生你帮了我一个忙用户名:$user.username电子邮件:$user.Email联系人:$user.Contact这是我在制作类并将结果集的内容添加到它之后得到的输出,因为括号用于EL表达式${user.Email}。谢谢先生,你帮了我很多