JSP - 连接数据并将数据插入MySQL数据库

时间:2012-08-19 15:56:46

标签: java mysql jsp servlets netbeans

是的,这是我的情况,我在页面上有一个表单(index.jsp),它将数据提交到JSP页面(output.jsp),然后JSP页面将对数据执行操作并输出结果。我想将其结果插入到MySQL数据库中。

我已经尝试在JSP中直接使用MySQL做了一些事情但是我已经被建议不要这样做,因为它会打开安全漏洞,我相信。

所以我创建了一个SubmitServlet.java(默认情况下,Netbeans将其放入源包/默认包中,与Web页面中JSP文件的位置相对)。我知道我必须在这里进行大量的连接,尽管我不完全确定如何将数据从JSP提交到数据库到servlet。我需要做什么?

我已经在RoseIndia上阅读了几个教程,但是他们只是让我更加困惑于实际需要什么,所以任何帮助都会大大增加!

PS:还值得指出我对Java Web应用程序来说是全新的,所以你对待我就像一个完全白痴一样,越好!

2 个答案:

答案 0 :(得分:2)

Rose India不是一个学习的好地方。

不,您需要一个或两个中间servlet。

将问题分解为块:模式,CRUD操作,中间层模型,服务,将HTTP请求编组到对象和后端,HTML和CSS以及JavaScript。不要试图一次完成整个事情。从单个垂直开始并使其工作,然后移动到下一个。

分解是计算机科学和解决问题的标志。

答案 1 :(得分:-1)

从output.jsp调用所需的方法,该方法将数据插入数据库

<%
<jsp:useBean id="obj" class="yourPackage.className" />
String Success="";
Success=sobj.myRequiredMethod("this is my result");
%>
yourPackage.className类中的

你应该有myRequiredMethod()

package yourPackage;
import java.sql.*;
import java.util.*;

public class className
    {
    String mySqlPassword="root";
    String mySqlUsername="root";
    String mySqlDatabase="jdbc:mysql://localhost:3306/yourDatabse";


ResultSet res;



    public String myRequiredMethod(String result)
        {

        String success="";
        try
            {


            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection(mySqlDatabase,mySqlUsername,mySqlPassword);

                String q="insert into myTable (resultColumn) values('" + result + "')";
            System.out.println(q);
            PreparedStatement stmt = con.prepareStatement(q);
            int pos = stmt.executeUpdate();
            System.out.println(pos);
        if(pos==1)
                {
                    success="Successfull";
                }
            } 

        catch(Exception e)
            {
        }

        return success;

        }
}