0

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

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

因此,我创建了一个 SubmitServlet.java(默认情况下,Netbeans 已将其放入 Source Packages/default 包中,而不是 JSP 文件的位置,在网页中)。我知道我必须在这里做很多连接,尽管我不完全确定如何将提交到数据库的数据从 JSP 获取到 servlet。我需要做什么?

我在 RoseIndia 阅读了几篇教程,但它们只是让我对实际需要什么感到更加困惑,因此任何帮助都会非常有用!

PS:还值得指出的是,我对 Java Web 应用程序完全陌生,所以你越把我当成一个完全的白痴,越好!

4

2 回答 2

2

玫瑰印度不是一个学习的好地方。

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

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

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

于 2012-08-19T16:00:50.367 回答
-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;

        }
}
于 2012-09-07T13:06:17.450 回答