JDBC (Java Data Base Connectivity)とServletの基本的な理解が必要です。あなたが望むものを達成する方法はたくさんありますが、以下はあなたにいくつかのアイデアを与えるための最小限の例です:
1. ユーザー入力を処理し、データを 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 デプロイメント記述子でサーブレットを宣言してマップする
以下の設定は、サーブレットをにマップします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.サーブレットに投稿するようにフォームを構成します
<form method="post" action="register">
....
</form>
警告のいくつかの言葉:
- 上記のサーブレット コードには、適切な例外およびエラー処理が付属していません
- 上記の JDBC コードには、適切なトランザクション管理が付属していません
- 上記の例は決して業界標準のベスト プラクティスではなく、実際には古くて時代遅れのアプローチです。これは、Java サーブレットとデータベースの相互作用がどのように機能するかの基本を示しています。適切なアプリケーションを構築するときは、SpringやJSFなどの Web フレームワークの使用を検討してください。