0

Hi,
I am trying to make a simple jsp program which eneters data eneterd by user in an html form called main.html.
This is the code for main.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Benthic_query </TITLE>
</HEAD>
<BODY>
<form METHOD = POST ACTION="dataConnection.jsp">
Enter the name of the new table: <input type = text name = table_name size= 30>
<br>
Enter the number of the table: <input type = text name=table_number size=10>
<p> <input type = Submit>
</BODY>
</HTML>

And here is the code for dataConnection:

<%@ page import="java.sql.*" %>
<%@ page import="javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%
Connection conn = null;
try
{
String query = "insert into benthic_query values('"+name+"', '"+number+"')";
String userName = "root";
String password = "abc";
String url = "jdbc:mysql://localhost/test";
String name= request.getParameter("table_name");
String number = request.getParameter("table_number");

Class.forName ("com.mysql.jdbc.Driver").newInstance(); //Loading the driver
conn = DriverManager.getConnection(url, userName, password); //connect the appropriate driver to the database
System.out.println("Connection opened successfully");
Statement stmt = conn.createStatement (); //Statement object sends the SQL statement to the DBMS
stmt.executeUpdate ("query"); //executeQuery will return back some rows, executeUpdate does not return any rows

stmt.close();
System.out.println("Connection opened successfully");
}
catch (Exception e)
{
System.err.println("Cannot connect to the database");
}
finally 
{
if(conn != null)
{
try
{
conn.close();
System.out.println("Database connection closed successfully");
}
catch (Exception e)
{
}
}
}

// response.sendRedirect("success.htm");
%>
<html>
<body>
<p> <a href = "thanks.html">CONTINUE </a> </p>
</html>
</body>

And I am getting the following error as soon as I hit the submit button in main.html

[B]exception[/B] org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 7 in the jsp file: /sjagwani/dataConnection.jsp
Generated servlet error:C:\Jakarta\jakarta-tomcat-5.0.28\work\Catalina\localhost\_\org\apache\jsp\sjagwani\dataConnection_jsp.java:58: 
cannot find symbol
symbol : variable name
location: class org.apache.jsp.sjagwani.dataConnection_jsp 
String query = "insert into benthic_query values('"+name+"', '"+number+"')"; 
^An error occurred at line: 7 in the jsp file: /sjagwani/dataConnection.jspGenerated servlet error:C:\Jakarta\jakarta-tomcat-5.0.28\work\Catalina\localhost\_\org\apache\jsp\sjagwani\dataConnection_jsp.java:58: cannot find symbol
symbol : variable number
location: class org.apache.jsp.sjagwani.dataConnection_jsp 
String query = "insert into benthic_query values('"+name+"', '"+number+"')"; 
^2errors 
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332) org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412) org.apache.jasper.compiler.Compiler.compile(Compiler.java:472) org.apache.jasper.compiler.Compiler.compile(Compiler.java:451) org.apache.jasper.compiler.Compiler.compile(Compiler.java:439) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Can someone please tell me where am I going worng.Thanks,

Edited by Dani: Fixed formatting

4
Contributors
4
Replies
5
Views
10 Years
Discussion Span
Last Post by jwenting
0

Hi
Did you find out the solution about how to enter the integer or datetime values from HTML form data???
If yes then please let me know what you did!!!

thanks

0

Hi

It shows that the variables number and name are undefined,So place the

String name= request.getParameter("table_name");
String number = request.getParameter("table_number");

before

String query = "insert into benthic_query values('"+name+"', '"+number+"')";


Regards,

0

You do I hope realise that it's very bad practice to do such things in a JSP?

Send the form submit to a servlet and do it there, then send the result of that operation back to a JSP for display.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.