使用Mysql从SERVLET的数组列表中检索数据到JSP

时间:2014-09-18 10:06:53

标签: mysql jsp servlets jdbc jstl

我使用JDBC连接数据库并使用select查询。我将数据提取到Arraylist中,并以表格格式将数据显示到JSP页面中。

一切顺利但我无法从Arraylist中检索数据以在我的JSP页面上显示它。

(在我删除了导入的代码中)

任何帮助将不胜感激。

public class Search extends HttpServlet {

    ArrayList<Object> list = new ArrayList<Object>();

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        try{
            Integer n =Integer.parseInt(request.getParameter("empno"));

            Class.forName("com.mysql.jdbc.Driver");
            Connection con =(Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb","root", "root");
            PreparedStatement ps = con.prepareStatement("select * from astintech where EmpNo = ?");
            ps.setInt(1, n);
            ResultSet rs = ps.executeQuery();

             if(rs.next())
             {
                {
                    String empno = rs.getString(1);
                    String ename = rs.getString(2);
                    String job = rs.getString(3);
                    String loc = rs.getString(4);

                    list.add(empno);
                    list.add(ename);
                    list.add(job);
                    list.add(loc);

                    System.out.println("list::" +list); 
                }

                request.setAttribute("nList", list);

                System.out.println("valid User no.");
                RequestDispatcher rd = request.getRequestDispatcher("Welcome.jsp");
                rd.include(request, response);
            }
            else
            {   
                System.out.println("invalid User no.");
                RequestDispatcher rd = request.getRequestDispatcher("Error.jsp");
                rd.include(request, response);
            }
        }catch(NumberFormatException nfe)
        {
            System.out.println("ONLY INTEGER VALUE ALLOWED");
            System.out.println("PLEASE ENTER ONLY INTEGER");
            RequestDispatcher rd = request.getRequestDispatcher("NumberFormatException.jsp");
            rd.include(request, response);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            out.close();
        }
    }
}

0 个答案:

没有答案