gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 14:11:50 25 4
gpt4 key购买 nike

我正在 NetBeans 中开发 Java Web 应用程序。我制作了一个 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>

最佳答案

您需要对JDBC (Java Data Base Connectivity)有一些基本的了解和 Servlet 。有很多方法可以实现您想要的目标,但下面是一个最小的示例,可以为您提供一些想法:

<强>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>

<强>3。配置您的表单以发布到 servlet

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

几句话警告:

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

关于java - 使用 HTML 表单文本输入框在 SQL 数据库中添加/编辑数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18475752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com