以下是完整的问题,因为我在前一个问题中Get a path value in java file from html/jsp稍微问了一下,这里我基本上将输入文件作为Excel工作表,此工作表充当源数据库,并且此文件更改每天都会发送一份新的Excel表格。现在我直接使用下面的代码。
public class DBConnection {
private Connection conn, conn1;
private Statement stmt;
private ResultSet rs;
private PreparedStatement ps, ps1;
private String excelPath = "D:/MyScouceExcel.xls";
}
但不是这样,我想尝试在我的索引页面和按钮(如下所示)中提供文件选择器,当我选择该文件并点击按钮时,excelPath
应该设置为那道路。
<input type="file" id="inputFile" name="inputFile"/>
<input type="button" value="set"/>
我不想上传文件,只是路径就够了。
在Java类中,我知道如何处理excel数据,因为我已经使用Apache-poi。我需要知道的是如何通过这条道路。请让我知道我该怎么做。
由于
答案 0 :(得分:1)
我希望以下代码能为您服务。首先,您需要一个servlet来读取服务器的文件结构;您可能需要编辑以下代码以根据需要进行修复;
import java.io.File;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = { "/serverpath" })
public class ServerPath extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {
String link = "<li><a href=\"serverpath?path=%s\">%s</a> <input type=\"button\" value=\"select\" onclick=\"window.opener.document.getElementById('path').value = '%s'; window.close();\" /></li>";
response.setContentType("text/html");
try {
String path = req.getParameter("path");
if (path == null) {
// take disk drives, for linux / is enough for me
response.getOutputStream().print(String.format(link, "/", "/", "/"));
} else {
File file = new File(path); //read clicked file path and its sub paths.
if (file.isDirectory()) {
File[] subDir = file.listFiles();
for (File file2 : subDir) {
if (file2.isDirectory()) {
response.getOutputStream().println(
String.format(link, file2.getAbsolutePath(), file2.getAbsolutePath(), file2.getAbsolutePath()));
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
html / jsp页面示例;
<input type="text" id="path" />
<input type="button" value="Select" onclick="window.open('serverpath', '', 'width=700,height=500,top=150,left=150,scrollbars=yes,location=no')">