首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> JSP 程式設計 >> 關於JSP

JSP 入門知識精華總結:表單、資料庫、檔案操作、計數器與進階學習路線圖

     編輯:關於JSP

一、核心基礎技巧

1.1 取得表單參數

String name = request.getParameter("name"); // 單值
String[] values = request.getParameterValues("multi"); // 多值 (checkbox等)

注意:getParameter 回傳 String,無需 new String() 包裹。

1.2 資料庫連線範本 (JDBC)

MySQL

String url = "jdbc:mysql://localhost:3306/jspsky";
Class.forName("com.mysql.jdbc.Driver").newInstance(); // 5.0+ 驅動類名
Connection conn = DriverManager.getConnection(url, "user", "pwd");
Statement stmt = conn.createStatement();
String sql = "INSERT INTO commu(name,tel) VALUES(?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, name);
ps.setString(2, tel);
ps.executeUpdate();
// 查詢
ResultSet rs = stmt.executeQuery("SELECT * FROM commu");
while (rs.next()) { out.println(rs.getString("name")); }
conn.close();

DB2

String url = "jdbc:db2:portal";
Class.forName("com.ibm.db2.jcc.DB2Driver"); // 通用驅動
Connection conn = DriverManager.getConnection(url, "user", "pwd");
// 後續操作同 MySQL

最佳實踐:生產環境**必須使用連線池** (Tomcat JNDI DataSource、HikariCP、Druid),避免頻繁建立/關閉連線;統一使用 PreparedStatement 防 SQL 注入;finally 區塊確保資源釋放。

1.3 檔案操作

寫入檔案 (覆蓋模式)

String content = "print me 雪峰!";
String path = System.getProperty("user.dir") + File.separator + "test.html";
try (FileOutputStream fos = new FileOutputStream(path);
     PrintWriter pw = new PrintWriter(fos)) {
    pw.println(content);
} catch (IOException e) { e.printStackTrace(); }

列出目錄檔案

File dir = new File(System.getProperty("user.dir") + File.separator + "doc" + File.separator + "jspsky");
String[] files = dir.list();
if (files != null) for (String f : files) out.print(f + "<br>");

1.4 應用層級計數器 (線程安全)

Integer count = (Integer) application.getAttribute("counter");
if (count == null) count = 0;
synchronized (application) {
    count++;
    application.setAttribute("counter", count);
}
out.println("Total visits: " + count);

關鍵:synchronized (application) 保護複合操作 (讀取+遞增+寫入) 原子性。

二、進階學習路線圖

階段核心主題建議實作專案
基礎鞏固 檔案刪除/修改、圖片上傳、郵件發送、JavaBeans 封裝 留言板、簡易郵件客戶端
企業級開發 EJB (Session/Entity)、XML 處理 (DOM/SAX/JAXB)、JavaScript/AJAX 整合 新聞發布系統、購物車模組
架構與流程 資料庫進階 (事務、索引、優化)、商業專案開發流程 (需求→設計→測試→部署)、MVC 框架 完整電商後台、聊天室 (WebSocket)

三、避坑指南

  • 路徑分隔符:永遠用 File.separator 或 Paths.get() (NIO.2),勿寫死 \ 或 /。
  • 編碼一致性:頁面 pageEncoding="UTF-8"、資料庫連線 characterEncoding=UTF-8、檔案讀寫指定 StandardCharsets.UTF_8。
  • 資源關閉:JDK 7+ 善用 try-with-resources;舊版本 finally 區塊逐一 close() 並捕獲例外。
  • SQL 注入:絕不拼接 SQL 字串,全面採用 PreparedStatement 或 ORM 框架。

四、給新手的建議

「多做練習,在實踐中不斷熟悉 Java 包的使用!」—— 原作者寄語

從留言板、聊天室、購物車等經典小專案切入,逐步引入分層架構、框架、自動化測試與 CI/CD,才是通往資深工程師的正途。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved