无聊中,想起两年前的一点小问题,现在重新回顾,发现真的很简单,哈哈
记录在案
代码如下
package com;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorld extends HttpServlet {
String driver = null;
String url = null;
String password = null;
String user= null;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
try {
Connection con = getConnection();
Statement stmt = con.createStatement();
ResultSet rst = stmt.executeQuery("SELECT TABLE_NAME FROM USER_ALL_TABLES");
int i = 1;
out.println("<table width='50%' border='1' cellpadding='10'>");
while (rst.next()) {
out.println("<tr>");
out.println("<td bgcolor='#FFCCE6'>");
out.println(String.valueOf(i++));
out.println("</td>");
out.println("<td bgcolor='#FFFFC6'>");
out.println(rst.getString("TABLE_NAME"));
out.println("</td>");
out.println("</tr>");
}
out.println("</table>");
rst.close();
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
doGet(request, response);
}
public void init() throws ServletException {
driver = getInitParameter("DRIVER");
password = getInitParameter("PASSWORD");
url = getInitParameter("URL");
user = getInitParameter("USER");
}
private Connection getConnection() {
Connection con = null;
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
}
web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
<web-app>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>com.HelloWorld</servlet-class>
<init-param>
<param-name> DRIVER</param-name>
<param-value>oracle.jdbc.driver.OracleDriver</param-value>
</init-param>
<init-param>
<param-name> URL</param-name>
<param-value>jdbc:oracle:thin:@192.168.0.10:1521:orcl</param-value>
</init-param>
<!-- jdbc:oracle:thin:@计算机名称:监听端口:系统实例名", username, password,
计算机名称,要是自己不知道可以在计算机属性查知.
监听端口一般默认是1521, 要是改变了就看自己的监听文件listener.ora
系统实例名一般是默认orcl, 要是不是的话就用 select name from v$database; 看看当前的实例名.
username,password,就是登陆数据库的用户名和密码 -->
<init-param>
<param-name> USER</param-name>
<param-value>maru</param-value>
</init-param>
<init-param>
<param-name> PASSWORD</param-name>
<param-value>maru</param-value>
</init-param>
</servlet>
看样子似乎程序没有问题了,可是运行起来却不行,当时我也不太明白,后来一查才知道,需要导入oracle连接数据库的驱动文件, 一般都是存放在数据库系统文件下面.,ojdbc14.jar, nls_charset12.jar 这两个文件.,ok了