I am creating a simple web app where my main goal is to retrieve records from a table in MySQL and display the results on the web (front-end).
I wrote a simple program in Intellij where my index.jsp looks like below:
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<style>
body {
font-family: Arial;
}
* {
box-sizing: border-box;
}
form.example input[type=text] {
padding: 10px;
font-size: 17px;
border: 1px solid grey;
float: left;
width: 80%;
background: #f1f1f1;
}
form.example button {
float: left;
width: 20%;
padding: 10px;
background: #2196F3;
color: white;
font-size: 18px;
border: 1px solid grey;
border-left: none;
cursor: pointer;
}
form.example button:hover {
background: #0b7dda;
}
form.example::after {
content: "";
clear: both;
display: table;
}
#result{
padding-top: 30px;
width:40%;
float:left;
position:relative;
left:35%;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
}
li {
float: left;
}
li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover {
background-color: #111;
}
li a:active{
}
</style>
<title>File Queue table</title>
<body>
<h1>Simple File Queue table</h1>
</body>
<script>
function queue_display(){
}
</script>
</html>
MyServlet.java :
@WebServlet(name = "MyServlet")
public class MyServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection( "jdbc:mysql://126.32.3.11:3306/test", "root", "root");
String sql ="Select * from filequeue;";
statement = conn.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
while(resultSet.next()){
// display each record
resultSet.getString("UniqueID");
resultSet.getString("FilePath");
resultSet.getString("Status");
resultSet.getString("DateTime");
resultSet.getString("Error");
list.add(resultSet);
}
resultSet.close();
statement.close();
conn.close();
RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp");
request.setAttribute("queryResults",list);
dispatcher.forward(request,response);
}catch(Exception e){
System.out.println(e);
}
}
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<description></description>
<display-name>Servlet</display-name>
<servlet-name>MyServlet</servlet-name>
<servlet-class> MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/Servlet</url-pattern>
</servlet-mapping>
</web-app>
I am new to web application, is there an efficient way to retrieve records from table and display on front end, without using servlet?