【第一步:數據庫驅動jar包的下載】
用瀏覽器打開https://jdbc.postgresql.org/download.html,然後在Current Version欄目下點擊下載JDBC42 Postgresql Driver, Version 9.4.1210(適用於JDK 1.8),其下載地址為:
https://jdbc.postgresql.org/download/postgresql-9.4.1210.jar
作者共发了8篇帖子。
![]() |
【第一步:數據庫驅動jar包的下載】
用瀏覽器打開https://jdbc.postgresql.org/download.html,然後在Current Version欄目下點擊下載JDBC42 Postgresql Driver, Version 9.4.1210(適用於JDK 1.8),其下載地址為: https://jdbc.postgresql.org/download/postgresql-9.4.1210.jar |
![]() |
【第二步:建立網站】
在C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps文件夾下創建test文件夾,然後創建一個pgsql.jsp文件。 (Dreamweaver CC 2015下創建jsp文件的方法是:新建時選擇HTML文件格式,然後保存文件時選擇文件類型為所有文件(*.*),文件名要帶上.jsp的後綴。保存文件後重新打開該文件即可。默認情況下插入欄里沒有JSP選項卡,需要在Creative Cloud裏面安裝JSP插件並重啟電腦才會出現:https://zh.arslanbar.net/post.php?t=24132) |
![]() |
JSP文件的內容:
<%@ page import="java.sql.*" pageEncoding="utf-8" %><!doctype html> <html> <head> <meta charset="utf-8"> <title>PostgreSQL Example</title> </head> <body> <% try { Class.forName("org.postgresql.Driver"); Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost/mydb", "postgres", "密碼"); String sql = "SELECT * FROM test ORDER BY id"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); %> <table width="100%" border="1" cellpadding="4" style="border-collapse:collapse"> <tbody> <tr> <th scope="col">ID</th> <th scope="col">Name</th> <th scope="col">Value</th> </tr> <% while (rs.next()) { %> <tr align="center"> <td><%= rs.getString(1) %></td> <td><%= rs.getString(2) %></td> <td><%= rs.getString(3) %></td> </tr> <% } %> </tbody> </table> <% rs.close(); stmt.close(); conn.close(); } catch (ClassNotFoundException err) { out.println("<h4>無法找到數據庫驅動!</h4>"); out.println("<p>請檢查WEB-INF文件夾下是否有web.xml文件,以及WEB-INF/lib下是否有數據庫驅動的jar文件</p>"); } %></body> </html> |
![]() |
【第三步:放入數據庫驅動】
在test文件夾下新建一個WEB-INF文件夾,再在裏面新建一個lib文件夾,然後把剛才的postgresql-9.4.1210.jar文件放進去。這個時候JSP還會報ClassNotFoundException錯誤。此時把C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\ROOT\WEB-INF\裏面的web.xml複製到剛才的WEB-INF文件夾下,用記事本或Dreamweaver打開後,把裏面的display-name和description改一下,例如: <display-name>My Web Application</display-name> <description>A application for test</description> XML中有一段很長的註釋<!-- .... -->可以刪掉。 這樣一來,最終的文件內容就是: <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1" metadata-complete="true"> <display-name>My Web Application</display-name> <description>A application for test</description> </web-app> 再次訪問jsp頁面: http://localhost:8080/test/pgsql.jsp 就可以正常操作數據庫了。 |
![]() |
本例中使用的數據庫名稱是mydb,表名為test。有三個字段:
id(serial類型,主鍵) name(character varying類型,沒有方括號,長度為50) value(integer類型) CREATE TABLE public.test ( id integer NOT NULL DEFAULT nextval('test_id_seq'::regclass), name character varying(50), value integer, CONSTRAINT test_pkey PRIMARY KEY (id) ) WITH ( OIDS=FALSE ); ALTER TABLE public.test OWNER TO postgres; |
![]() |
![]() |
![]() |
【運行結果】
![]() |
![]() |
JSP連接數據庫最大的困難就是如何讓Tomcat伺服器找到數據庫驅動的jar文件。
|