Good day. I am completely new to java. I understand an example, I remake it according to my own. In general, at startup, a form is displayed with a text box and a button. After pressing the button, data from the database is displayed. The question is how to make the data appear when you run the JSP file, and not by pressing a button. I am completely new to this. Thank you in advance. Here is the code:

IndexReport class

 package IndexReport; import java.io.Serializable; public class IndexReport implements Serializable { private int id_index; private String date; private String name; private float varible; public IndexReport() {} public IndexReport(int id_index, String date, String name, float varible) { super(); this.id_index = id_index; this.date = date; this.name = name; this.varible = varible; } public int getId_Index() { return id_index; } public void setId_Index(int id_index) { this.id_index = id_index; } public String getDate() { return date; } public void setDate(String date) { this.date= date; } public String getName() { return name; } public void setName(String name) { this.name= name; } public float getVarible() { return varible; } public void setName(float varible) { this.varible= varible; } } 

 package IndexReport; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.DriverManager; import java.sql.SQLException; import java.util.ArrayList; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(name = "Index_Report_Servlet", urlPatterns = {"/Index_Report_Servlet"}) public class Index_Report_Servlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { static final long serialVersionUID = 1L; public Index_Report_Servlet() {super();} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { response.setContentType("text/html;charset=UTF-8"); // Получение из http-запроса значения параметра lasname String lastname = request.getParameter("lastname"); // Коллекция для хранения найденных показателей ArrayList<IndexReport> employees = new ArrayList<IndexReport>(); // Загрузка драйвера БД Derby Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); // Получение соединения с БД Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName =FininceAnalysis; user = Admin; password = 1234"); // Выполнение SQL-запроса ResultSet rs = con.createStatement().executeQuery( "SELECT [dbo].[Report_Count_Index].[ID_Index], [dbo].[Report_Count_Index].Data, [dbo].[Index].Name,[dbo].[Report_Count_Index].[Varible] AS Varible " + "FROM [dbo].[Report_Count_Index]" + "INNER JOIN [dbo].[Index] ON [dbo].[Report_Count_Index].[ID_Index]=[dbo].[Index].[ID_Index]"); // Перечисление результатов запроса while (rs.next()) { // По каждой записи выборки формируется // объект класса Employee. // Значения свойств заполяются из полей записи IndexReport emp = new IndexReport( rs.getInt(1), rs.getString(2), rs.getString(3), rs.getFloat(4)); // Добавление созданного объекта в коллекцию employees.add(emp); } // Закрываем выборку и соединение с БД rs.close(); con.close(); // Помещение результатов в параметр запроса employeesFound request.setAttribute("employeesFound", employees); // Перенаправление http-запроса на страницу index.jsp RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/Tables.jsp"); dispatcher.forward(request, response); } catch (Exception ex) { ex.printStackTrace(); throw new ServletException(ex); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } } <form action="Index_Report_Servlet"> Фамилия сотрудника <input type="text" name="lastname"> <input type=submit value="поиск"> </form> <%ArrayList employees = (ArrayList) request.getAttribute("employeesFound");if (employees != null) {if (employees.size()==0) out.print("Сотрудники не найдены"); else { out.print("<TABLE border="1">"); out.print("<TR><TD>Id</TD><TD>Имя</TD><TD>Фамилия</TD>" + "<TD>Должность</TD <TD>Телефон</TD></TR>");for (int i = 0; i < employees.size(); i++) {out.print("<TR>");IndexReport emp = (IndexReport) employees.get(i);out.print("<TD>" + emp.getId_Index()+ "</TD>"); out.print("<TD>" + emp.getDate()+ "</TD>"); out.print("<TD>" + emp.getName()+ "</TD>"); out.print("<TD>" + emp.getVarible()+ "</TD>"); out.print("</TR>"); } out.print("</TABLE>"); }}%> 
  • I can not test. Try adding: <body onload = "Index_Report_Servlet"> - Dan Irkutskiy
  • I would use JSTL tags on a JSP page: <c: forEach items = "$ {employeesFound}" var = "row" varStatus = "movieLoopCount"> <tr> <td> $ {movieLoopCount.count} </ td> <td> <c: out value = "$ {row.id_index}" default = "" escapeXml = "true" /> </ td> <td> <c: out value = "$ {row.date}" default = "" escapeXml = "true" /> </ td> <td> <c: out value = "$ {row.name}" default = "" escapeXml = "true" /> </ td> <td> < c: out value = "$ {row.variable}" default = "" escapeXml = "true" /> </ td> </ tr> </ c: forEach> - Vitaliy

0