Java 使用HTML表单文本输入框在SQL数据库中添加/编辑数据

Java 使用HTML表单文本输入框在SQL数据库中添加/编辑数据,java,sql,jsp,netbeans,Java,Sql,Jsp,Netbeans,我正在NetBeans中开发一个javaweb应用程序。我制作了一个JSP页面,可以将一行添加到SQL数据库中,但我希望允许用户输入。为此,我制作了一些文本输入框。我希望用户能够输入字符串,然后将这些字符串作为varchar数据保存到SQL数据库中。有没有办法做到这一点 以下是进行其中一个文本输入的代码: <p>Name</p> <input type="text" name="Name" value="" size="100"/> 名称 以下是向数据库中

我正在NetBeans中开发一个javaweb应用程序。我制作了一个JSP页面,可以将一行添加到SQL数据库中,但我希望允许用户输入。为此,我制作了一些文本输入框。我希望用户能够输入字符串,然后将这些字符串作为varchar数据保存到SQL数据库中。有没有办法做到这一点

以下是进行其中一个文本输入的代码:

<p>Name</p>
<input type="text" name="Name" value="" size="100"/>
名称

以下是向数据库中添加行的代码:

    <sql:update var="attempt1" dataSource="jdbc/testaddressbook">
        INSERT INTO people (fullName, address, telephone, email)
        VALUES ("testerName3", "testerAddress", "testerPhone", "testerEmail")
    </sql:update>

插入联系人(全名、地址、电话、电子邮件)
值(“testerName3”、“testerAddress”、“testerPhone”、“TesterMail”)

您需要对和有一些基本的了解。有很多方法可以实现你想要的,但下面是一个简单的例子,可以给你一些想法:

1。创建一个servlet来处理用户输入并将数据插入SQL

package mycoolapp;

public RegistrationServlet extends HttpServlet {
  protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {

    // Obtain submitted form data
    String name = req.getParameterName("Name");
    String address = req.getParameterName("Address");
    String phone = req.getParameterName("Phone");
    String email = req.getParameterName("Email");

    // Setup your database datasource, this is different for each db vendor. On production environment most likely you need a connection pooled datasource
    DataSource ds = // setup ds here..
    Connection conn = ds.getConnection();

    // Prepare the SQL statement to insert, plug in the values
    PreparedStatement stmt = conn.prepareStatement("INSERT INTO people (fullName, address, telephone, email) VALUES (?, ?, ?, ?)");
    stmt.setString(1, name);
    stmt.setString(2, address);
    stmt.setString(3, phone);
    stmt.setString(4, email);

    // Execute the insert
    stmt.executeUpdate();
    conn.close();

    // Dispatch into success page
    RequestDispatcher requestDispatcher = req.getRequestDispatcher("/registerSuccess.jsp");
    requestDispatcher.forward(req, res);
  }
}
2。在WEB-INF/WEB.xml部署描述符上声明并映射servlet

下面的设置将servlet映射到
http://myhost/mywarname/register

<web-app>
  <servlet>
    <servlet-class>mycoolapp.RegistrationServlet</servlet-class>
    <servlet-name>RegistrationServlet</servlet-name>
  </servlet>

  <servlet-mapping>
    <servlet-name>RegistrationServlet</servlet-name>
    <url-pattern>/register</url-pattern>
  </servlet-mapping>
</web-app>

mycoolapp.RegistrationServlet
注册服务
注册服务
/登记册
3。将表单配置为发布到servlet中

<form method="post" action="register">
  ....
</form>

....
几句警告:

  • 上面的Servlet代码没有附带适当的异常和错误处理
  • 上面的JDBC代码没有提供适当的事务管理
  • 上述示例决不是行业标准的最佳实践,事实上它是一种过时的方法。它展示了java servlet和数据库交互的基本工作原理。当您构建正确的应用程序时,考虑使用Web框架,例如,或其他。