[ad_1]
I’m doing a CRUD project using JSP and MySQL. I want to fetch a table named team from database, but the code is returning only the last record. I am not able to understand what’s going wrong. The loop is printing the last row in a table only.
Below are the concerning files:
TeamController.java
package com.poojasapp.web;
import java.io.IOException;
import java.util.List;
import com.poojasapp.web.dao.TeamDAO;
import com.poojasapp.web.model.Team;
import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
/**
* Servlet implementation class TeamController
*/
@WebServlet("/getTeam")
public class TeamController extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public TeamController() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
TeamDAO td = new TeamDAO();
List<Team> t = td.getTeam();
HttpSession session = request.getSession();
session.setAttribute("player", t);
response.sendRedirect("playerlist.jsp");
}
}
Team.java
package com.poojasapp.web.model;
public class Team {
private int player_id;
private String player_name;
private Float ratings;
private String player_type;
public Team(int player_id, String player_name, Float ratings, String player_type) {
super();
this.player_id = player_id;
this.player_name = player_name;
this.ratings = ratings;
this.player_type = player_type;
}
public int getPlayer_id() {
return player_id;
}
public void setPlayer_id(int player_id) {
this.player_id = player_id;
}
public String getPlayer_name() {
return player_name;
}
public void setPlayer_name(String player_name) {
this.player_name = player_name;
}
public Float getRatings() {
return ratings;
}
public void setRatings(Float ratings) {
this.ratings = ratings;
}
public String getPlayer_type() {
return player_type;
}
public void setPlayer_type(String player_type) {
this.player_type = player_type;
}
public Team() {
super();
// TODO Auto-generated constructor stub
}
}
TeamDAO.java
package com.poojasapp.web.dao;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.lang.*;
import com.poojasapp.web.model.Team;
public class TeamDAO {
Team team_obj = new Team();
public List<Team> getTeam() {
List<Team> players = new ArrayList<Team>();
Team team =new Team();
try {
Class.forName("com.mysql.cj.jdbc.Driver");
//Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cricket","root","pooja");
java.sql.Statement st = con.createStatement();
ResultSet rs= st.executeQuery("select * from team");
while(rs.next())
{
team.setPlayer_id(rs.getInt("player_id"));
team.setPlayer_name(rs.getString("player_name"));
team.setRatings(rs.getFloat("ratings"));
team.setPlayer_type(rs.getString("player_type"));
players.add(team);
}
} catch(Exception e) {
System.out.println(e);
}
return players;
}
}
Playerlist.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" import ="com.poojasapp.web.model.Team, java.util.List"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1> Your team is</h1>
<table>
<tr><td>Player_id</td>
<td>Player_name</td>
<td>Ratings</td>
<td>Player_type</td>
</tr>
</table>
<%
List<Team> allplayers = (List<Team>)session.getAttribute("player");
for(Team t:allplayers){
%>
<tr><td> <%=t.getPlayer_id() %></td>
<td><%=t.getPlayer_name()%><td>
<td><%=t.getRatings()%></td>
<td><%=t.getPlayer_type()%><td></tr><br>
<%
}
%>
</body>
</html>
[ad_2]