I have a web application that needs to communicate with azure mysql database. I have included the connection string for jdbc as given in the portal and also modified the connection parameters to allow all inbound IPs. Still the database wont update with the input data. What should I do more?
My connection string is:
String url ="jdbc:mysql://upes.mysql.database.azure.com:3306/students? useSSL=true&requireSSL=false";
Connection myDbConn = DriverManager.getConnection(url, "****", "****");
My controller servlet code:
package Controller;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import java.util.Base64;
import java.sql.*;
import Model.*;
@WebServlet(name = "controller")
@MultipartConfig(maxFileSize = 16177215)
public class controller extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String v1 = request.getParameter("email");
String v2 = request.getParameter("password");
String v4 = request.getParameter("act");
String v5 = request.getParameter("name");
if(v4.equals("Register"))
{
request.getRequestDispatcher("/SignUp.jsp").forward(request, response);
}
if (v4.equals("SignUp"))
{
Part filePart = request.getPart("photo");
String email="";
String name="";
String base64Image="";
InputStream image= filePart.getInputStream();
newuser r = new newuser();
r.register(v5, v1, v2, image);
try{
PreparedStatement statement = null;
ResultSet resultSet = null;
//Class.forName("com.mysql.jdbc.Driver");
//Connection con = DriverManager.getConnection("jdbc:mysql://upes.mysql.database.azure.com:3306/students?useSSL=true&requireSSL=false", "****", "****");
String url ="jdbc:mysql://upes.mysql.database.azure.com:3306/students?useSSL=true&requireSSL=false";
Connection myDbConn = DriverManager.getConnection(url, "****", "****");
statement = myDbConn.prepareStatement("select * from studentdata where email=?");
statement.setString(1, v1);
resultSet=statement.executeQuery();
while(resultSet.next()) {
email=resultSet.getString("email");
name=resultSet.getString("name");
Blob blob = resultSet.getBlob("photo");
InputStream inputStream = blob.getBinaryStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
byte[] imageBytes = outputStream.toByteArray();
base64Image = Base64.getEncoder().encodeToString(imageBytes);
inputStream.close();
outputStream.close();
}
}
catch(Exception e)
{
e.printStackTrace();
}
request.setAttribute("name", name);
request.setAttribute("email", email);
request.setAttribute("image",base64Image);
request.getRequestDispatcher("/UserAccount.jsp").forward(request, response);
}
if(v4.equals("Log In"))
{
request.getRequestDispatcher("/SignIn.jsp").forward(request, response);
}
if(v4.equals("SignIn"))
{
String email="";
String name="";
String base64Image="";
Check c= new Check();
String res=c.checker(v1,v2);
if(res.equals("SUCCESS")) {
try{
PreparedStatement statement = null;
ResultSet resultSet = null;
//sClass.forName("com.mysql.jdbc.Driver");
//Connection myDbConn = DriverManager.getConnection("jdbc:mysql://upes.mysql.database.azure.com:3306/students?useSSL=true&requireSSL=false", "****", "****");
String url ="jdbc:mysql://upes.mysql.database.azure.com:3306/students?useSSL=true&requireSSL=false";
Connection myDbConn = DriverManager.getConnection(url, "****", "****");
statement = myDbConn.prepareStatement("select * from studentdata where email=?");
statement.setString(1, v1);
resultSet=statement.executeQuery();
while(resultSet.next()) {
email=resultSet.getString("email");
name=resultSet.getString("name");
Blob blob = resultSet.getBlob("photo");
InputStream inputStream = blob.getBinaryStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
byte[] imageBytes = outputStream.toByteArray();
base64Image = Base64.getEncoder().encodeToString(imageBytes);
inputStream.close();
outputStream.close();
}
}
catch(Exception e)
{
e.printStackTrace();
}
request.setAttribute("name", name);
request.setAttribute("email", email);
request.setAttribute("image",base64Image);
request.getRequestDispatcher("/UserAccount.jsp").forward(request, response);
}
}
if(v4.equals("Sign Out"))
{
request.getRequestDispatcher("/welcome.jsp").forward(request, response);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}```