Invoke JavaScript function from servlet


 

Invoke JavaScript function from servlet

In this section, you will learn how to call JavaScript function from the servlet.

In this section, you will learn how to call JavaScript function from the servlet.

Invoke JavaScript function from servlet

You have learnt several servlet related examples. Here we are going to create an example that will call JavaScript function from the servlet. Embedding JavaScript in Servlets can be useful when migrating Web applications that rely on JavaScript to server-side Java without rewriting the business logic.

Description Of Code:

You can see in the given code, we have retrieved database table data into the html tables. We have also embedded delete button in every row of html table to allow the user to select the particular record to delete. This delete button calls the javascript function for the particular record. Before deleting, it will ask the user whether he/she really want to delete the record. If ok, then it will take the id of the specific record and navigate to delteuser.jsp that will delete the record.

Here is the code of Servlet.java:

import java.io.*;
import
java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Servlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
PrintWriter out = response.getWriter();
out.println(
"<html><head><script>function deleteRecord(id){var r=confirm('Are you confirm')");
out.println(
"if (r==true){var reason=prompt('Reason for deleting:')");
out.println(
"if(reason!=null){");
out.println(
"window.open('http://localhost:8080/examples/modified/deleteuser.jsp?id='+id+'&&reas='+reason,'mywindow','width=500, height=350,toolbar=no,resizable=yes,menubar=yes')");
out.println(
"}else{}}}</script></head>");
out.println(
"<form name='form'>");
out.println(
"<table border='1'>");
out.println(
"<tr><th>FirstName</th><th>LastName</th><th>Address</th><th>Email</th></tr>");
Connection con =
null;
String url =
"jdbc:mysql://localhost:3306/";
String db =
"test";
String driver =
"com.mysql.jdbc.Driver";
String userName =
"root";
String password =
"root";
int sumcount = 0;
Statement st;
try {
Class.forName(driver).newInstance();
con = DriverManager.getConnection(url + db, userName, password);
String query =
"select * from employee";
st = con.createStatement();
ResultSet rs = st.executeQuery(query);
while (rs.next()) {
out.println(
"<tr><td>" + rs.getString(2) + "</td><td>"+ rs.getString(3) + "</td><td>" + rs.getString(4)+ "</td><td>" + rs.getString(5) + "</td>");
out.println(
"<td><input type='button' name='edit' value='Delete' style='background-color:red;font-weight:bold;color:#ffffff;' onclick=\"deleteRecord('"+ rs.getString(1) + "');\"></td></tr>");
}
}
catch (Exception e) {
e.printStackTrace();}
out.println(
"</table>");
out.println(
"<form>");
out.println(
"</html>");
}
}

Here is the code of deleteuser.jsp:

<%@page language="java"%>
<%@page import="java.sql.*"%>
<%
String id=request.getParameter("id");
int
no=Integer.parseInt(id);
int sumcount=0;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
String query = "select * from register where id='"+no+"'";
Statement st = conn.createStatement();
st.executeUpdate("DELETE FROM register WHERE id = '"+no+"'");
out.println("Record is deleted successfully");
}
catch(Exception e){}
%>

Ads