在java中它的工作......但在jsp页面中......无法在JSP中创建文件......
在纯 JAVA 中:A.java
import java.io.FileWriter;
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 java.util.StringTokenizer;
public class A {
public static void main(String[] args) throws IOException {
String x = "name,age";
Connection connection = null;
try { // Load the JDBC driver
String driverName = "oracle.jdbc.driver.OracleDriver"; Class.forName(driverName);
// Create a connection to the database
String serverName = "127.0.0.1";
String portNumber = "1521";
String sid = "XE";
String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid;
String username = "system";
String password = "system";
connection = DriverManager.getConnection(url, username, password);
FileWriter fw = new FileWriter("D:\\AACB.csv");
PrintWriter pw = new PrintWriter(fw);
pw.println(x);
Statement s = connection.createStatement();
String query = "select "+x+" from dummytable";
ResultSet rs = s.executeQuery(query);
while(rs.next())
{
StringTokenizer stk = new StringTokenizer(x,",");
while(stk.hasMoreTokens()){
System.out.println(rs.getString(stk.nextToken()));
}
}
pw.flush();
//Close the Print Writer
pw.close();
//Close the File Writer
fw.close();
s.close();
connection.close();
}
catch(Exception e){}
} }
在这个我只是选择 chkbox 并将数据发送到 operation.jsp 页面.. 并尝试制作 csv 文件......在纯 java(A.java 代码以上)中它可以工作但在 jsp 中它不是..
在 jsp 中:index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<HTML>
<body>
<FORM method="POST" ACTION="operation.jsp">
<center>
Select Fields: <br><br>
<table>
<tr>
<td>
<input TYPE=checkbox name=fields VALUE=name>
</td>
<td>
name
</td>
</tr>
<tr>
<td>
<input TYPE=checkbox name=fields VALUE=age>
</td>
<td>
age
</td>
</tr>
<tr>
<td>
<input TYPE=checkbox name=fields VALUE=address>
</td>
<td>
address
</td>
</tr>
</table>
<br> <INPUT TYPE=submit name=submit Value="Submit">
</center>
</FORM>
</BODY>
</HTML>
操作.jsp
<%@page import="java.util.StringTokenizer"%>
<%@page import="java.io.PrintWriter"%>
<%@page import="java.io.FileWriter"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<body>
<%! String[] fields; %>
<%! String x ; %>
<center>You have selected:
<%
fields = request.getParameterValues("fields");
x = fields[0];
if (fields != null)
{
for (int i = 1; i < fields.length; i++)
{
x += ", " + fields[i];
}
}
else out.println ("<b>none<b>");
out.println(x);
%>
<%
Connection connection = null;
try { // Load the JDBC driver
String driverName = "oracle.jdbc.driver.OracleDriver"; Class.forName(driverName);
// Create a connection to the database
String serverName = "127.0.0.1";
String portNumber = "1521";
String sid = "XE";
String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid;
String username = "system";
String password = "system";
connection = DriverManager.getConnection(url, username, password);
FileWriter fw = new FileWriter("D:\\abckjk.csv");
PrintWriter pw = new PrintWriter(fw);
pw.println(x);
Statement s = connection.createStatement();
String query = "select "+ x +" from dummytable";
ResultSet rs = s.executeQuery(query);
while(rs.next())
{
StringTokenizer stk = new StringTokenizer(x,",");
while(stk.hasMoreTokens()){
pw.print(rs.getString(stk.nextToken()));
pw.print(",");
}
pw.println();
}
pw.flush();
//Close the Print Writer
pw.close();
//Close the File Writer
fw.close();
s.close();
connection.close();
}
catch (ClassNotFoundException e) { // Could not find the database driver
} catch (SQLException e)
{ // Could not connect to the database }
}
%>
</center>
</body>
</html>