iT邦幫忙

2024 iThome 鐵人賽

DAY 22
0

昨天製作了一個只有文字的網頁,今天要來做一個Post表單,選擇Post而不是Get是因為:使用Post方法數據不會顯示在 URL 中,而是作為請求的「主體」傳遞到伺服器,因此在地址欄上看不到提交的數據。相對來說比Get更安全。具體程式碼大概長這樣

jsp檔,裡面是4個輸入框,分別是學號、姓名、性別、年齡,輸入完會傳送到到伺服器的/TryToEnterData
其中label是一個輸入框,name="xxx"代表的是這筆資料在程式中的名稱,submit是提交表單的按鈕

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <meta charset="UTF-8">

    <title>TryToEnterData</title>
</head>
<body>
<form action="http://localhost:8080/TryToEnterData" method="post">
    <label>學號:</label>
    <input type="text" name="number">
    <br>
    <label>姓名:</label>
    <input type="text" name="name">
    <br>
    <label>性別:</label>
    <input type="text" name="gender">
    <br>
    <label>年齡:</label>
    <input type="text" name="age">
    <input type="submit" value="GNTM">
</form>
</body>
</html>

下面是EnterData的class程式碼,它的作用是抓取Post表單中輸入的資料(就是上述的name="xxx"),並把它定義成字串,然後再以html格式輸出文字

package Package1;

import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import javax.servlet.annotation.*;

@WebServlet(name = "EnterData", value = "/TryToEnterData ")
public class EnterData extends HttpServlet {
    private PrintWriter out;

    public void init() {
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");

        String number = request.getParameter("number");
        String name = request.getParameter("name");
        String gender = request.getParameter("gender");
        String age = request.getParameter("age");

        out = response.getWriter();

        out.println("<html><body>");
        out.println("<h1>" +"your data is : "+ "</h1>");
        out.println("<br>");
        out.println("<h3>" + number + "</h3>");
        out.println("<h3>" + name + "</h3>");
        out.println("<h3>" + gender + "</h3>");
        out.println("<h3>" + age + "</h3>");
        out.println("</body></html>");
    }

    public void destroy() {
    }
}

來看看執行畫面
https://ithelp.ithome.com.tw/upload/images/20241006/20169406rDGlv2am6T.png
https://ithelp.ithome.com.tw/upload/images/20241006/20169406GhAOHWRXAb.png
可以看到跟我們預想的一樣


上一篇
D21:自訂發布網頁
下一篇
D23: 從網頁端寫進資料庫
系列文
資料庫與Java開發工具連接30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言