关于网页上文件下载到指定的客户端文件夹的问题(在线急等)
各位大侠,现在我有一个关于如何实现页面上的DBF文件,如何通过用户点击按钮,不需选择下载路径,直接到达指定路径的难题.比如说下载到客户端的C;\EMIP文件夹下,假设所有的客户端全部都是下载到这个文件夹里.
我有一个DBF文件生成的下载的JAVA BEAN,请各位高手帮我看看怎么修改:
package com.zhang.download;
import com.zhang.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class CreateDbfDwjbxx extends javax.servlet.http.HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, java.io.IOException {
long startTime = System.currentTimeMillis();
ResultSet rs = null;
Statement stmt = null;
Connection con = null;
SqlBean dbfWriteBean = new SqlBean();
String dwdm = req.getParameter("dwdm");
Convert convert = new Convert();
// 构造生成年审下发表的查询语句
String selectSqlStr =
"SELECT * FROM AA001 WHERE AAB001='" + dwdm + "'";
// 用拷贝文件的方法来生成新的DBF数据文件的结构
FileCopy.copy(
"c:\\download\\DWJBXX.dbf",
"c:\\download\\D" + dwdm + ".DBF");
try {
Class.forName("com.hxtt.sql.dbf.DBFDriver");
String url = "jdbc:DBF:/c:\\download";
//Change "../dbffiles" to yourdbfdir
con = DriverManager.getConnection(url, "", "");
stmt = con.createStatement();
String deleteSqlStr = "DELETE FROM D" + dwdm;
stmt.executeUpdate(deleteSqlStr);
} catch (Exception e) {
System.out.println("ERROR ON INIT DBF DRIVER : " + e.getMessage());
}
try {
// 查询出将要下发的数据
rs = dbfWriteBean.executeQuery(selectSqlStr);
while (rs.next()) {
// 插入一行新的数据
String insertSqlStr =
"INSERT INTO D"
+ dwdm
+ " VALUES("
+ dwdm
+ ",'"
+ rs.getString("AAB002")
+ "','"
+ rs.getString("AAB003")
+ "','"
+ rs.getString("AAB004")
+ "','"
+ rs.getString("AAB005")
+ "','"
+ rs.getString("AAB006")
+ "','"
+ rs.getString("AAB007")
+ "','"
+ rs.getString("AAB008")
+ "','"
+ rs.getString("AAB009")
+ "','"
+ rs.getString("AAB010")
+ "',"
+ rs.getDate("AAB011")
+ ","
+ rs.getDate("AAB012")
+ ",'"
+ rs.getString("AAB013")
+ "',"
+ rs.getDate("AAB014")
+ ",'"
+ rs.getString("AAB015")
+ "','"
+ rs.getString("AAB016")
+ "','"
+ rs.getString("AAB017")
+ "','"
+ rs.getString("AAB018")
+ "','"
+ rs.getString("AAB019")
+ "','"
+ rs.getString("AAB020")
+ "','"
+ rs.getString("AAB021")
+ "','"
+ rs.getString("AAB022")
+ "','"
+ rs.getString("AAB023")
+ "','"
+ rs.getString("AAB024")
+ "','"
+ rs.getString("AAB025")
+ "','"
+ rs.getString("AAB026")
+ "','"
+ rs.getString("AAB027")
+ "','"
+ rs.getString("AAB028")
+ "','"
+ rs.getString("AAB029")
+ "','"
+ rs.getString("AAB030")
+ "','"
+ rs.getString("AAB031")
+ "','"
+ rs.getString("AAB032")
+ "','"
+ rs.getString("AAB033")
+ "','"
+ rs.getString("AAB034")
+ "','"
+ rs.getString("AAB035")
+ "','"
+ rs.getString("AAB036")
+ "',"
+ rs.getDate("AAB037")
+ ","
+ rs.getDate("AAB038")
+ ",'"
+ rs.getString("AAB039")
+ "','"
+ rs.getString("AAB040")
+ "',"
+ rs.getInt("AAB041")
+ ","
+ rs.getInt("AAB042")
+ ","
+ rs.getInt("AAB043")
+ ","
+ rs.getInt("AAB044")
+ ",'"
+ rs.getString("AAB045")
+ "','"
+ rs.getString("AAB046")
+ "','"
+ rs.getString("AAB047")
+ "')";
System.out.println(insertSqlStr);
stmt.executeUpdate(insertSqlStr);
}
/*ServletContext context = getServletContext();
RequestDispatcher rd =
context.getRequestDispatcher(
"/download.jsp?downloadFile=D" + dwdm + ".DBF");
rd.forward(req, res);*/
res.sendRedirect(
"com.zhang.download.Download?downloadFile=D" + dwdm + ".DBF");
} catch (Exception e) {
System.out.println("ERROR ON INSERT DBF : " + e.getMessage());
} finally {
try {
rs.close();
stmt.close();
con.close();
dbfWriteBean.closeConnection();
} catch (Exception e) {
System.out.println("ERROR ON CLOSE STMT ");
}
}
long endTime = System.currentTimeMillis();
System.out.println((endTime - startTime) + "ms");
}
// servlet的gopost方法
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, java.io.IOException {
doGet(req, res);
}
}
当然如果可以通过在页面上实现,即JSP文件的实现更好!希望诸位多提宝贵意见.
问题点数:0、回复次数:0Top




