iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0
自我挑戰組

資料庫與Java開發工具連接系列 第 26

D26:從網頁端刪除資料(下)

  • 分享至 

  • xImage
  •  

今天要寫昨天提到的.jsp檔案

要寫.jsp的話一定要在web.xml中寫好位置

<servlet>
        <servlet-name>DeleteData</servlet-name>
        <servlet-class>Package1.DeleteData</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>DeleteData</servlet-name>
        <url-pattern>/DeleteData</url-pattern>
    </servlet-mapping>

我們的.jsp檔案是網頁端顯示的東西,所以會使用到html語法

首先是doPost用到的label,他會把資料傳送到http ://localhost:8080/DeleteData這個位置,在web.xml中這個地址是用到昨天的DeleteData Method,執行preparedstatement中delete的動作

<form action="http://localhost:8080/DeleteData" method="post">
    <label>輸入學號以刪除:</label>
    <input type="text" name="number">
    <input type="submit" value="刪除">
</form>

接下來是顯示資料的table,因為是使用html,不能直接打java程式碼,需要加<% %>來讓網站知道這邊不是純html,而是用java語法,這樣才能正常執行,table的內容是學生資料表,java程式會把database裡的資料輸出成表格

<h2>學生資料表:</h2>
<table border="1">
    <tr>
        <th>學號</th>
        <th>姓名</th>
        <th>性別</th>
        <th>年齡</th>
    </tr>

    <%
        try {
            // 資料庫連接
            Class.forName("com.mysql.cj.jdbc.Driver");
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/database1", "user1", "abcd1234");

            String selectSQL = "SELECT * FROM student_information";
            PreparedStatement preparedStatement = conn.prepareStatement(selectSQL);
            ResultSet resultSet = preparedStatement.executeQuery();

            // 顯示資料
            while (resultSet.next()) {
                int number = resultSet.getInt("number");
                String name = resultSet.getString("name");
                String gender = resultSet.getString("gender");
                int age = resultSet.getInt("age");
    %>
    <tr>
        <td><%= number %></td>
        <td><%= name %></td>
        <td><%= gender %></td>
        <td><%= age %></td>
    </tr>
    <%
        }
        conn.close();
    } catch (Exception e) {
        e.printStackTrace();
    %>
    <tr>
        <td colspan="4">無法顯示資料</td>
    </tr>
    <%
        }
    %>
</table>

來看看實際頁面吧https://ithelp.ithome.com.tw/upload/images/20241009/201694063f1npauMAc.png
我們把編號1000刪掉,跳出刪除成功後返回會到刪除的地方,1000也成功被刪掉了!!https://ithelp.ithome.com.tw/upload/images/20241009/20169406PoVuY4wzad.png


上一篇
D25: 從網頁端刪除資料(上)
系列文
資料庫與Java開發工具連接26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言