Mysql 在另一个jsp文件中使用ResultSet值

Mysql 在另一个jsp文件中使用ResultSet值,mysql,jsp,session,resultset,Mysql,Jsp,Session,Resultset,我试图在另一个jsp文件中使用resultset值,但我在网站上得到了null <% try { Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/database", "root", "root"); Statement st =

我试图在另一个jsp文件中使用resultset值,但我在网站上得到了
null

<%
    try {
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/database", "root", "root");
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery("select * from users");
        String var = null;
        while (rs.next()) {
            var = rs.getString(2);
        }
       session.setAttribute("var1", var);
        response.sendRedirect("Select.jsp");

    } catch (Exception e) {
    }
%>

Select.jsp:

<% out.println(request.getParameter("var1")); %>


jsp正在显示
null
。问题出在哪里?

我认为问题在于您正在
会话
范围中设置值:

session.setAttribute("var1", var);
request.getParameter("var1")
但您正试图从
请求
范围中获取它:

session.setAttribute("var1", var);
request.getParameter("var1")
因此,保持相同的范围(要么是
会话
要么是
请求


另外,您应该避免在JSP中使用scriplets,因为这是不推荐的。

我认为问题在于您正在
会话
范围中设置值:

session.setAttribute("var1", var);
request.getParameter("var1")
但您正试图从
请求
范围中获取它:

session.setAttribute("var1", var);
request.getParameter("var1")
因此,保持相同的范围(要么是
会话
要么是
请求


另外,您应该避免在JSP中使用scriplets,因为这是不推荐的。

您使用
setAttribute
设置了参数,但尝试使用
getParameter
获取参数

使用
getAttributes
方法获取结果:-

<% out.println((String)request.getAttribute("var1")); %>

或与

<% out.println(session.getAttribute("var1")); %>

您使用
setAttribute
设置了参数,但您正在尝试使用
getParameter
获取参数

使用
getAttributes
方法获取结果:-

<% out.println((String)request.getAttribute("var1")); %>

或与

<% out.println(session.getAttribute("var1")); %>