0

我是 java 新手。我正在使用 MYSQL 数据库在 Eclipse EE IDE 中创建动态 Web 应用程序。我想将我的数据库连接到应用程序到目前为止我已经创建了 JSP 页面以供查看。下面是我的 JSP 代码和用于连接的 Servlet。我无法用这个连接到数据库。我的 JSP 页面工作正常。但我认为问题出在 Servlet 上。并且还建议我需要制作两个 java 文件,一个用于 Servlet,另一个用于从 JSP 页面获取数据。提前致谢。

小服务程序

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class NewServlet extends HttpServlet {
  protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

 //Get user_name and pass_word from the JSP page


String toolfirst=request.getParameter("tname1");
String toolsecond=request.getParameter("tname2");
String toolvalue=request.getParameter("tvalue");

//Print the above got values in console

System.out.println("The username is" +toolfirst);






//Setting connection Parameters

String connectionparams=”jdbc:mysql://localhost:3306/tool”;

//database name

String db=”tool”;      

//Mysql user name and password   whichever  you have given during installation

String uname=”root”                   
String psword=””                 

//Declaring classes required for Database support

Connection connection=null;
ResultSet rs;
try {
// Loading the available driver for a Database communication

Class.forName("org.gjt.mm.mysql.Driver");

//Creating a connection to the required database

connection = DriverManager.getConnection(jdbc:mysql://localhost:3306/tool, root, );

//Add the data into the database

String sql = "insert into usertable values (?,?)";


PreparedStatement prep =
connection.prepareStatement(sql);

//Setting the values which we got from JSP form

prep.setString(1, tname1);
prep.setString(2, tname2);
prep.executeUpdate();
prep.close();
  }catch(Exception E){

//Any Exceptions will be caught here

System.out.println(“The error is==”+E.getMessage());

}
finally{

//After the entire execution this block will execute and the connection with database gets closed

connection.close();



    }
}

JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
 <script type="text/javascript">
    $(document).ready(function() {
        $("#add").click(function() {
          $('#mytable tbody>tr:last').clone(true).insertAfter('#mytable tbody>tr:last');
    $('#mytable tbody>tr:last #name').val('');
    $("#mytable tbody>tr:last").each(function() {this.reset();});
          return false;
        });
    });
</script>
</head>
<body>
<form method="post" action="NewServlet">
<a  id="add" href="javascript:void(0)">Add another Credit card</a>
  <table id="mytable" width="300" border="1" cellspacing="0" cellpadding="2">
  <tbody>
      <tr class="person">
      <td><input type="text" name="tname1" id="name" /></td>
      <td><input type="button" value="name" /></td>
      <td><select name="tvalue">
      <option>value1</option>
      <option>value2</option></select>
      <td><input type="text" name="tname2" id="name" /></td>
          </tr>
              </tbody>
            </table>
              <input type="submit" value="submit" >
  </form>
   <a href="logout.jsp">Logout</a>
</body>
</html>
4

2 回答 2

1

您在此语句的末尾有一个逗号,其后没有任何值。我认为您的论点数量不完整。我还假设用户 ID 和密码需要在参数列表中的某个位置。

DriverManager.getConnection(jdbc:mysql://localhost:3306/tool, root, );

哎呀 - 在我发布这个之前有人回答了这个问题。我想我需要更快地打字。

于 2013-11-01T14:22:18.130 回答
1

如果没有详细的错误消息,我会说你在这里有一个编译错误:

connection = DriverManager.getConnection(jdbc:mysql://localhost:3306/tool, root, );

至少应该是:

connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/tool", root, psword);

顺便说一句,删除ResultSet. 你不使用它。

于 2013-11-01T14:18:49.983 回答