jsp是在Java Servlet技術(shù)的基礎(chǔ)上發(fā)展而來的,具有動態(tài)生成html頁面的能力,是Web應(yīng)用程序開發(fā)的重要技術(shù)之一。為了保存用戶提交的表單數(shù)據(jù),我們需要使用MySQL數(shù)據(jù)庫。
首先,我們需要在MySQL數(shù)據(jù)庫中創(chuàng)建一個表來保存表單數(shù)據(jù)。以下是表結(jié)構(gòu)的示例:
CREATE TABLE user ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, phone VARCHAR(20) NOT NULL, PRIMARY KEY (id) );
接下來,在JSP頁面中,我們可以使用form標簽創(chuàng)建一個表單,其中包含需要保存的數(shù)據(jù):
<form action="save.jsp" method="post"> <input type="text" name="name" placeholder="Name"> <input type="text" name="email" placeholder="Email"> <input type="text" name="phone" placeholder="Phone"> <input type="submit" value="Save"> </form>
在form標簽中,我們指定了保存數(shù)據(jù)的地址為save.jsp,并使用post方法來發(fā)送數(shù)據(jù)。表單中的input標簽分別對應(yīng)了我們在MySQL數(shù)據(jù)庫中創(chuàng)建的表格字段。
然后,在save.jsp頁面中,我們可以使用Java代碼來連接MySQL數(shù)據(jù)庫,并將數(shù)據(jù)保存到user表中:
<%@ page import="java.sql.*" %> <%@ page import="javax.naming.*" %> <%@ page import="javax.sql.*" %> <%@ page contentType="text/html;charset=UTF-8" %> <% String name = request.getParameter("name"); String email = request.getParameter("email"); String phone = request.getParameter("phone"); try { Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); DataSource ds = (DataSource) envCtx.lookup("jdbc/mydb"); Connection conn = ds.getConnection(); String sql = "INSERT INTO user (name, email, phone) VALUES (?, ?, ?)"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, name); ps.setString(2, email); ps.setString(3, phone); ps.executeUpdate(); conn.close(); } catch (Exception e) { e.printStackTrace(); } %> <p>Data saved successfully!</p>
在上面的代碼中,我們從request對象中獲取表單提交的數(shù)據(jù),并將其插入到user表中。需要注意的是,我們使用了連接池來連接MySQL數(shù)據(jù)庫,以提高應(yīng)用程序的效率。最后,在頁面中顯示一條“Data saved successfully!”的消息。
通過以上的步驟,我們就成功地將jsp表單數(shù)據(jù)保存到MySQL數(shù)據(jù)庫中。