Я пытаюсь создать программу, в которой пользователь может ввести результат сопоставления на html-страницу, затем эти данные будут добавлены в базу данных, но я могу получить любые данные для вставки. Что я получаю неправильно, вот мой код:Вставка данных из html-страницы в базу данных
<html>
<head>
<title>Result</title>
</head>
<body>
<FORM METHOD=GET ACTION="EnterResult.jsp">
Enter your home team:
<INPUT TYPE="text" NAME="newhomet" VALUE = "" >
Enter your away team:
<INPUT TYPE="text" NAME="newawayt" VALUE = "" >
Enter your home score:
<INPUT TYPE="text" NAME="newhomes" VALUE = "" >
Enter your away score:
<INPUT TYPE="text" NAME="newaways" VALUE = "" >
<INPUT TYPE="submit" VALUE = "Submit">
</FORM>
</body>
</html>
EnterResult.jsp
<HTML>
<%@ page import="java.util.*" import="java.awt.*" import= "javax.swing.*" import= "java.sql.*" import= "java.util.* " import= "matchBean.*" errorPage= "NewError.jsp" %>
<jsp:useBean id="newMatchBean" class="matchBeans.MatchResults" />
<%
String newHomeTeam;
String newAwayTeam;
String newHomeScore;
String newAwayScore;
newHomeTeam = request.getParameter("newhomet");
newAwayTeam = request.getParameter("newawayt");
newHomeScore = request.getParameter("newhomes");
newHomeScore = request.getParameter("newaways");
%>
</HTML>
MatchResult.java
package matchBeans;
import java.sql.*;
import java.util.*;
public class MatchResults
{
private static Connection connection = null;
private static Statement statement;
private ResultSet results;
private String query;
private String newHomeTeam;
private String newAwayScore;
private String newHomeScore;
private String newAwayTeam;
public MatchResults() throws ClassNotFoundException
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException cnfEx)
{
throw new ClassNotFoundException(
"Unable to locate JDBC driver!");
}
}
public void newMatchBean() throws SQLException, ClassNotFoundException
{
connectAndCreateStatement();
String query = "INSERT INTO Results VALUES('" + newHomeTeam + "','"
+ newAwayTeam + "','" + newHomeScore + "','" + newAwayScore
+ "')";
statement.executeUpdate(query);
System.out.println("\nContents after insertion:\n");
disconnectFromDb();
}
private static void connectAndCreateStatement() throws SQLException,ClassNotFoundException
{
try
{
connection = DriverManager.getConnection(
"jdbc:odbc:FootballData","","");
}
catch (SQLException sqlEx)
{
throw new SQLException("Unable to connect to database!");
}
try
{
statement = connection.createStatement();
}
catch (SQLException sqlEx)
{
throw new SQLException("Unable to create SQL statement!");
}
}
private static void disconnectFromDb() throws SQLException
{
try
{
connection.close();
}
catch (SQLException sqlEx)
{
throw new SQLException(
"Unable to disconnect from database!");
}
}
}
Первый из всего вашего HTML является изворотливым. Удалите пробелы вокруг знаков =, сделайте все теги и атрибуты строчными. А также всегда имеют кавычки вокруг ваших значений атрибутов и слэши в конце незакрытых тегов (например, '
Вы также считаете, что переменные, созданные в EnterResult.jsp, будут заполнять переменные в MatchResult.java с теми же именами. – cortices
, так как я могу передать данные из jsp в файл MatchResult.java. – 2013-05-12 01:31:50