Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Servlet MVC,将数据库查询结果显示到JSP表_Java_Html_Jsp_Servlets_Model View Controller - Fatal编程技术网

Java Servlet MVC,将数据库查询结果显示到JSP表

Java Servlet MVC,将数据库查询结果显示到JSP表,java,html,jsp,servlets,model-view-controller,Java,Html,Jsp,Servlets,Model View Controller,请帮助我了解MVCjavaservlet。我在多行多列上显示数据库查询结果时发现了问题(加载所有数据,假设我在查询后得到10行),我希望加载JSP表中的所有学生列表 如何在servlet中设置属性和在JSP中设置属性 我将查询结果设置为数组列表,这是我的代码: Bean类 package com.mvc.bean; public class StudentBean { private String name; private String id; public Str

请帮助我了解
MVC
javaservlet。我在多行多列上显示数据库查询结果时发现了问题(加载所有数据,假设我在查询后得到10行),我希望加载
JSP
表中的所有学生列表

如何在servlet中设置属性和在JSP中设置属性

我将查询结果设置为数组列表,这是我的代码:

Bean类

package com.mvc.bean;

public class StudentBean {
    private String name;
    private String id;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
} 
package com.mvc.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

import com.mvc.bean.StudentBean;
import com.mvc.util.DBConnection;

public class StudentDao {
    public ArrayList<StudentBean> getStudent() {
        ArrayList<StudentBean> list_student = new ArrayList<StudentBean>();
        Connection con = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            con = DBConnection.createConnection();
            statement = con.createStatement();
            resultSet = statement.executeQuery("SELECT * FROM tbl_student");
            while(resultSet.next()){
                StudentBean studentBean = new StudentBean();
                studentBean.setId(resultSet.getString("id"));
                studentBean.setName(resultSet.getString("name"));
                list_student.add(studentBean);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return list_student;
    }
}
package com.mvc.controller;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.mvc.bean.StudentBean;
import com.mvc.dao.StudentDao;

public class StudentServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public StudentServlet() {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        StudentDao studentDao = new StudentDao();
        ArrayList<StudentBean> studentList = studentDao.getStudent();

        //I have get value studentBean as array list
        //Here, how to request.setAttribute ? i want passing to jsp table
        request.getRequestDispatcher("/Student.jsp").forward(request, response);
    }
}
DAO类

package com.mvc.bean;

public class StudentBean {
    private String name;
    private String id;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
} 
package com.mvc.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

import com.mvc.bean.StudentBean;
import com.mvc.util.DBConnection;

public class StudentDao {
    public ArrayList<StudentBean> getStudent() {
        ArrayList<StudentBean> list_student = new ArrayList<StudentBean>();
        Connection con = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            con = DBConnection.createConnection();
            statement = con.createStatement();
            resultSet = statement.executeQuery("SELECT * FROM tbl_student");
            while(resultSet.next()){
                StudentBean studentBean = new StudentBean();
                studentBean.setId(resultSet.getString("id"));
                studentBean.setName(resultSet.getString("name"));
                list_student.add(studentBean);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return list_student;
    }
}
package com.mvc.controller;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.mvc.bean.StudentBean;
import com.mvc.dao.StudentDao;

public class StudentServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public StudentServlet() {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        StudentDao studentDao = new StudentDao();
        ArrayList<StudentBean> studentList = studentDao.getStudent();

        //I have get value studentBean as array list
        //Here, how to request.setAttribute ? i want passing to jsp table
        request.getRequestDispatcher("/Student.jsp").forward(request, response);
    }
}
package com.mvc.dao;
导入java.sql.Connection;
导入java.sql.ResultSet;
导入java.sql.Statement;
导入java.util.ArrayList;
导入com.mvc.bean.StudentBean;
导入com.mvc.util.DBConnection;
公立班学生{
公共数组列表getStudent(){
ArrayList_student=新建ArrayList();
连接con=null;
Statement=null;
ResultSet ResultSet=null;
试一试{
con=DBConnection.createConnection();
statement=con.createStatement();
resultSet=statement.executeQuery(“从tbl_学生中选择*);
while(resultSet.next()){
StudentBean StudentBean=新StudentBean();
setId(resultSet.getString(“id”);
setName(resultSet.getString(“name”);
list_student.add(studentBean);
}
}捕获(例外e){
e、 printStackTrace();
}
留学生返回名单;
}
}
Servlet类

package com.mvc.bean;

public class StudentBean {
    private String name;
    private String id;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
} 
package com.mvc.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

import com.mvc.bean.StudentBean;
import com.mvc.util.DBConnection;

public class StudentDao {
    public ArrayList<StudentBean> getStudent() {
        ArrayList<StudentBean> list_student = new ArrayList<StudentBean>();
        Connection con = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            con = DBConnection.createConnection();
            statement = con.createStatement();
            resultSet = statement.executeQuery("SELECT * FROM tbl_student");
            while(resultSet.next()){
                StudentBean studentBean = new StudentBean();
                studentBean.setId(resultSet.getString("id"));
                studentBean.setName(resultSet.getString("name"));
                list_student.add(studentBean);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return list_student;
    }
}
package com.mvc.controller;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.mvc.bean.StudentBean;
import com.mvc.dao.StudentDao;

public class StudentServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public StudentServlet() {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        StudentDao studentDao = new StudentDao();
        ArrayList<StudentBean> studentList = studentDao.getStudent();

        //I have get value studentBean as array list
        //Here, how to request.setAttribute ? i want passing to jsp table
        request.getRequestDispatcher("/Student.jsp").forward(request, response);
    }
}
package com.mvc.controller;
导入java.io.IOException;
导入java.util.ArrayList;
导入javax.servlet.ServletException;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
导入com.mvc.bean.StudentBean;
导入com.mvc.dao.StudentDao;
公共类StudentServlet扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
公共学生servlet(){
}
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
StudentDao StudentDao=新StudentDao();
ArrayList studentList=studentDao.getStudent();
//我已将值studentBean作为数组列表获取
//这里,如何请求.setAttribute?我想传递到jsp表
request.getRequestDispatcher(“/Student.jsp”).forward(请求,响应);
}
}
JSP

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Student</title>
    </head>
    <body>
        <table>
        <tr>
            <th>Id</th>
            <th>Name</th>
        </tr>
        <tr>
            //Here i want get array value from servlet, how to ?
            <td><%=request.getAttribute("?") %></td>
            <td<%=request.getAttribute("?") %>></td>
        </tr>
        </table>
    </body>
</html>

学生
身份证件
名称
//这里我想从servlet中获取数组值,如何?

否则?

可以从java代码中使用:
request.setAttribute(“mylist”,studentBean)

在JSP中,需要使用
request.getAttribute(“mylist”)
你会得到你的名单


对于表,您需要进行循环以从列表中提取信息。

已解决,在Servlet类中添加了
request.setAttribute

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    StudentDao studentDao = new StudentDao();
    ArrayList<StudentBean> studentList = studentDao.getStudent();

    //added here
    request.setAttribute("studentList", studentList);

    request.getRequestDispatcher("/Student.jsp").forward(request, response);
}
在表中,使用
forEach
提取
标记

.getID()
.getName()
请参阅Bean类方法:

<table>
    <tr>
        <th>Id</th>
        <th>Name</th>
    </tr>
    <c:forEach var="studentBean" items="${studentList}">
        <tr>  
            <td>${studentBean.getID()}</td>
            <td>${studentBean.getName()}</td>
        </tr>
    </c:forEach>
</table>

身份证件
名称
${studentBean.getID()}
${studentBean.getName()}