查询数据库显示在jsp页面

现在知道for循环这里出错了,但是不知道怎么修改。网上百度到的都是写在一个页面上了比如这篇文章,我是想分开写。,怎么修改额才能实现查询

Servlet代码:

package Select;

import DbUtil.DbConn;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by Administrator on 2017-5-12.
 */
@WebServlet(name = "ServletShow",urlPatterns = "/ssss")
public class ServletShow extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String sql = "select * from showinfo";
        HttpSession session = request.getSession();
        String name = null;
        String sex = null;
        String love = null;
        String info = null;
        Connection conn = DbConn.getConnection();
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ResultSet rs = ps.executeQuery();
            while (rs.next()){
                name = rs.getString(1);
                sex = rs.getString(2);
                love = rs.getString(3);
                info = rs.getString(4);
                session.setAttribute("showname",name);
                session.setAttribute("showsex",sex);
                session.setAttribute("showlove",love);
                session.setAttribute("showinfo",info);
            }
//            response.sendRedirect("show.jsp");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

HTML代码

<%@ page import="javax.naming.Name" %>
<%@ page import="Select.ServletShow" %><%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2017-5-11
  Time: 16:22
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <table>
        <%
            ServletShow ss = new ServletShow();
        %>
        <%
            for (int i =0 ;i<10;i++){
        %>
        <tr>
            <td><%=session.getAttribute("showname")%></td>
            <td><%=session.getAttribute("showsex")%></td>
            <td><%=session.getAttribute("showlove")%></td>
            <td><%=session.getAttribute("showinfo")%></td>
        </tr>
        <%
            }
        %>
    </table>
</body>
</html>
阅读 3.7k
1 个回答
新手上路,请多包涵

1.你这样写的doget方法在session里面方的东西永远都是最后一条数据的name,sex,love,info,应该在循环里用一个list去接收你查出来的数据,然后在循环外面把这个list放入到session里面.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题