Java JSP不显示从POST请求到Servlet的数据
我有一个index.jsp页面,其中包含名为refresh、forward和edit的按钮。如果单击refresh按钮,它将调用一个Servlet,值将显示在index.jsp页面上 当我单击forward按钮时,它调用另一个servlet并转到另一个页面forward\u call\u log.jsp。在这个页面中,当我单击forward按钮时,它调用另一个servlet,该servlet显示index.jsp页面。将显示index.jsp页面,但数据库中的值不可用 我如何解决这个问题 index.jsp 寻呼机示例-www.javaworkspace.com 复选框 问题ID 用户ID 单击刷新按钮后,调用Edit_call_servlet.java 导入database.problemdesc.Problem\u retrive\u类; 导入database.user\u master.user\u master; 导入java.sql.*; 公共类Edit_调用扩展了HttpServlet{ 私有静态最终长serialVersionUID=1L; 受保护的无效doPostHttpServletRequest请求、HttpServletResponse响应引发ServletException、IOException { response.setContentTypetext/html; HttpSession=request.getSessionRue; 结果集rs=null; 问题类prc=新问题类; int checkbox=Integer.parseIntrequest.getParametercheckbox; session.setAttributeproblem_id,复选框; String act=request.getParameteract; ifact.equalsEditCall { 尝试 { rs=prc。选中表格复选框; RequestDispatcher rd=request.getRequestDispatcheredit\u call\u log.jsp; request.setAttributers,rs; 请求、响应; } 卡奇 { e、 打印跟踪; } } 否则,我将继续前进 { System.out.printlnForward页面; 尝试 { 结果集rs1=null; 用户\主机um=新用户\主机; rs=prc。选中表格复选框; ifrs.next { 从PRC select_表检索System.out.printlnValue; rs1=um.select_tablers.getString7; System.out.printlnValue从PRC select_表格中检索+rs.getString7; RequestDispatcher rd=request.getRequestDispatcherforward\u call\u log.jsp; request.setAttributes1,rs1; request.setAttributeuser_type,rs.getString7; 请求、响应; } 其他的 { RequestDispatcher rd=request.getRequestDispatcherindex.jsp; 请求、响应; } } 卡奇 { } } } } 单击“转发”按钮后,调用Problem\u retrve\u servlet.java 导入database.problemdesc.Problem\u retrive\u类; 公共类问题检索扩展了HttpServlet{ 私有静态最终长serialVersionUID=1L; 受保护的无效doPostHttpServletRequest请求、HttpServletResponse响应引发ServletException、IOException { response.setContentTypetext/html; PrintWriter out=response.getWriter; 连接con=null; 结果集rs=null; 尝试 { 问题类prc=新问题类; DBBean db=新的DBBean; con=db.getDBConnection; rs=prc。选择_表; RequestDispatcher rd=request.getRequestDispatcherindex.jsp; 请求、响应; } 卡奇 { e、 打印跟踪; } } }Java JSP不显示从POST请求到Servlet的数据,java,html,jsp,servlets,Java,Html,Jsp,Servlets,我有一个index.jsp页面,其中包含名为refresh、forward和edit的按钮。如果单击refresh按钮,它将调用一个Servlet,值将显示在index.jsp页面上 当我单击forward按钮时,它调用另一个servlet并转到另一个页面forward\u call\u log.jsp。在这个页面中,当我单击forward按钮时,它调用另一个servlet,该servlet显示index.jsp页面。将显示index.jsp页面,但数据库中的值不可用 我如何解决这个问题 ind
看起来您没有向请求对象附加任何数据,因此index.jsp没有显示任何内容。我假设这是问题发生时正在执行的代码 公共类Edit_调用扩展了HttpServlet{ 受保护的无效doPostHttpServletRequest请求、HttpServletResponse响应引发ServletException、IOException { ... 否则,我将继续前进 { 尝试 { ... { ... } 其他的 { RequestDispatcher rd=request.getRequestDispatcherindex.jsp; /***你的问题就在这里***/ 请求、响应; } [编辑] 根据您的问题,我假设JSP上的刷新按钮按预期工作,即数据库中的数据按预期显示 服务器上正在执行的方法是Problem\u retrve.doPost 基于此,我们需要了解在forward\u call\u log.jsp上单击forward按钮时执行的代码。您已经描述过,此forward按钮显示index.jsp,但不包括数据库中的数据。让我们假设其调用Edit\u call.doPost* *我建议您在所有doPost方法中放置调试器断点以确认此假设,或者如果无法调试,请参考System.out.println语句 因此,当没有显示任何数据时,您需要比较Problem_retrive.doPost中发生的情况与Edit_call.doPost中未发生的情况。我怀疑您没有调用request.setAttribute rs=prc。选择_表; RequestDispatcher rd=request.getRequestDispatcherindex.jsp; request.setAttributers,rs; 请求、响应; 关于良好设计的旁注
您可以阅读有关设计代码的更多信息。@Prasanta。作为旁注,最好不要将JDBC相关对象传递给JSP,即ResultSet。您的控制器类应该从结果集中提取它需要的值,并创建某种类型的集合,例如ArrayList。您可以用一个示例来解释我吗……因为我是jsp servlet的新手……这对我非常有帮助…………您描述的问题是Forward\u call\u log.jsp上的一个名为Forward的按钮没有包含此代码。请定义单击此按钮时触发的类和方法?