1
現在、私はmysqlを使用するユーザのためにデータベースに書き込んでいますが、ユーザはいくつかのフィールドを持っていて、フォームを使って現在のユーザプロファイルを更新できるようにしたいと思います。プレースホルダには、現在の情報を表示したいと思います。提出は、提供された情報を変更し、テーブルを更新する必要があります。サーブレットを使用してユーザ情報を更新する方法
<h2>Update your profile</h2>
<div class="form">
<form action="/updateprofile">
<input type="text" name="Email_Address" placeholder="Email Address">
<input type="text" name="First_Name" placeholder="First Name">
<input type="text" name="Last_Name" placeholder="Last Name">
<input class="button" type="submit">
</form>
</div>
そして、これは私はそれは私がそれを謝罪大きな愚かな間違いだった、更新の代わりに挿入するために、これを変更するサーブレットコード{すべてではない、それのがちょうどSQLDBへの書き込み}
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
//Obtain submitted form data
String firstName = req.getParameter("First_Name");
String lastName = req.getParameter("Last_Name");
String username = req.getParameter("User_Name");
String email = req.getParameter("Email_Address");
String password =req.getParameter("Password");
try {
//Setup the Database datasource
Context ctx = new InitialContext();
Context env = (Context)ctx.lookup("java:comp/env");
DataSource ds = (DataSource)env.lookup("jdbc/carRentalSystem");
Connection conn = ds.getConnection();
//Prepare the SQL statmenet to insert the values
PreparedStatement stmt = conn.prepareStatement("INSERT INTO userdetails(First_Name, Last_Name, Email_Address, Password, User_Name) VALUES (?,?,?,?,?)");
stmt.setString(1, firstName);
stmt.setString(2, lastName);
stmt.setString(3, email);
stmt.setString(4, password);
stmt.setString(5, username);
//Execute the insert
stmt.executeUpdate();
conn.close();
//Dispatch into success page
RequestDispatcher requestDispatcher = req.getRequestDispatcher("login.html");
requestDispatcher.forward(req, res);
}
catch(Exception e){
System.out.println(e);
}
サーブレットコードはどこですか?あなたはサーバー側で何をしましたか? – assembler
は、サーブレットコード –
で更新されました。どこが「更新」ですか? – Ravi