目前共有9篇帖子。 內容轉換:不轉換▼
 
點擊 回復
725 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)
 

本帖信息

點擊數:725 回複數:8
評論數: ?
作者: 巨大八爪鱼
最後回復:222.18.127.*
最後回復時間:2016-11-10 00:40
 
©2010-2024 Arslanbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。