Servlet的OnClick>需要从数据库中获取特定人员的数据并将其显示在JSP上

问题描述 投票:1回答:1

Java代码在这里,我的数据库中有8个订户,它以表格格式在前端显示(列-用户名,订户类型,日期,有效期至)单击订户用户名>它必须获取该特定名称及其有效性详细信息。这必须使用JAVA完成。在这里,我使用了Servlet计数器,因此每次单击时都会增加计数,并将计数作为参数传递给我的模型类,该模型类接受该计数具有参数,并且来自数据库的数据已存储在ArrayList中。使用ArrayList getInt方法,已将Count传递给此方法。该应用程序运行正常!但是当应用程序吸引到更多访问者并且servlet计数未初始化回hitCount到零时。如何在Java中动态获取数据?以及我可以在此代码中进行哪些改进以获得适当的结果!

ServletCounter

private int hitCount; 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session=request.getSession();
        hitCount++
        try {
            Model m=new Model();

            System.out.println("Entering getstatement method...");
            String NAME=m.getStatement(hitCount);

                session.setAttribute("NAME", NAME);
                response.sendRedirect("ManageAccount.jsp");
                System.out.println(NAME);
            }


        catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }



    }

Model Class

public class Model{

public String getStatement(int hitCount) throws Exception 

    {

       System.out.println("Inside getStatement..");
        pst = conn
                .prepareStatement("SELECT user FROM trillup.subscribers");
       ArrayList ar=new ArrayList();

        rs = pst.executeQuery();


        ar.add("");
        while(rs.next()==true) 
        {
           System.out.println("Inside while loop");
            ar.add(rs.getString("user"));
        }

            System.out.println(ar);

        hitCount++;
        String NAME=(String) ar.get(hitCount);
        return NAME;



    }  
}
java html mysql jsp jdbc
1个回答
0
投票

您是否尝试在DoGet方法之前初始化hitCount = 0?看看sql JSTL库手册。这是非常有趣并且易于使用的数据提取。不需要掌握数据结构

© www.soinside.com 2019 - 2024. All rights reserved.