目前共有9篇帖子。 字体大小:较小 - 100% (默认)▼  内容转换:台灣正體▼
 
点击 回复
964 8
【方法】JSP連接PostgreSQL資料庫
一派掌门 二十级
1楼 发表于:2016-9-8 13:35
【第一步:資料庫驅動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
一派掌门 二十级
2楼 发表于:2016-9-8 13:39
【第二步:建立網站】
在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
 
一派掌门 二十级
3楼 发表于:2016-9-8 13:39
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>
 
一派掌门 二十级
4楼 发表于:2016-9-8 13:46
【第三步:放入資料庫驅動】
在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
就可以正常操作資料庫了。
 
一派掌门 二十级
5楼 发表于:2016-9-8 13:49
本例中使用的資料庫名稱是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;
 
一派掌门 二十级
6楼 发表于:2016-9-8 13:49
 
一派掌门 二十级
7楼 发表于:2016-9-8 13:50
【運行結果】

 
一派掌门 二十级
8楼 发表于:2016-9-8 13:52
JSP連接資料庫最大的困難就是如何讓Tomcat伺服器找到資料庫驅動的jar文件。
 
222.18.127.*
9楼 发表于:2016-11-10 00:40
求首頁動態圖片切換的完整代碼,js直接鑲嵌就好,不用額外的js文件
 

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:964 回复数:8
评论数: ?
作者:巨大八爪鱼
最后回复:222.18.127.*
最后回复时间:2016-11-10 00:40
 
©2010-2025 Purasbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。