Java读取html页面以文件流方式输出显示在页面

需求:实现服务器上excel文件转html,然后在浏览器上以流的方式读出(不让用户看到文件存放位置):
Java以字节流读取html文件,然后想在前台显示:读取html代码如下:

response.setContentType("multipart/form-data");
			response.setCharacterEncoding("UTF-8");
			response.setContentType("text/html");
			// 2.设置文件头:最后一个参数是设置下载文件名
			response.setHeader("Content-Disposition", "attachment;fileName=" + file_name);
			ServletOutputStream out;
			// 通过文件路径获得File对象
			html_file_path = html_file_path.replace("\\", "/");
			File html_file = new File(html_file_path);
			FileInputStream inputStream = new FileInputStream(html_file);

			// 3.通过response获取ServletOutputStream对象(out)
			out = response.getOutputStream();

			int b = 0;
			byte[] buffer = new byte[1024];
			while ((b = inputStream.read(buffer)) != -1) {
				// 4.写到输出流(out)中
				out.write(buffer, 0, b);
			}
			inputStream.close();
			out.flush();
			out.close();


输出的内容想在浏览器上显示,但是浏览器一直提示下载:


<body>
	<div id="divclass">
		<div id="pdfLeftlist">
			<a href="#" οnclick="updateUrl('a');">1001.pdf</a>
		</div>
		<div id="pdfRightlist">
			<object  width="100%" height="100%" data="${path}pdfPreview/viewer.jsp">
				<!-- 传递参数:如list -->
				<%-- <param name="file_url" id="file_url" value="${path}pdfPreview/04.pdf"> --%>
				<%-- <param name="file_url" id="file_url" value="${path}readFileToPdf/pdfPreview.do"> --%>
			</object>

		</div>
	</div>
</body>


前台代码:不管使用object标签还是iframe标签都不行:

$("#pdfRightlist").html("<object width='100%' height='100%' data='${path}readFileToHtml/htmlPreview.do?id="+id+"&fileType="+type+"'><param name='file_urla' id='file_urla' value=''/></object>");

报:ClientAbortException: java.io.IOException 异常


使用:

$("#pdfRightlist").html("<iframe src='${path}readFileToHtml/htmlPreview.do?id="+id+"&fileType="+type+"'"+
	" frameborder='0' border='0' marginwidth='0' marginheight='0' scrolling='auto' allowtransparency='yes' width='100%' height='800'></iframe>");

浏览器提示下载:



提示下载文件;最后解决办法:使用$("#pdfRightlist").load("${path}readFileToHtml/htmlPreview.do",{"id":id,"fileType":type});
load方法:在video.js中

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 以下是一个简单的 Java 程序,它从 MySQL 数据库中读取数据,并将其显示HTML 网页上。 请注意,此代码使用 JDBC 驱动程序连接到 MySQL 数据库,并使用 JSP 技术构建 HTML 页面。确保已经正确安装和配置了 MySQL JDBC 驱动程序,并且具有正确的数据库访问权限。 ```java import java.sql.*; public class ReadFromMySQL { public static void main(String[] args) { String dbUrl = "jdbc:mysql://localhost:3306/mydatabase"; String username = "myusername"; String password = "mypassword"; try { // 创建与MySQL数据库的连接 Connection conn = DriverManager.getConnection(dbUrl, username, password); // 从表中查询数据 String sql = "SELECT * FROM mytable"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); // 将结果集的数据显示HTML页面上 System.out.println("<html><body>"); System.out.println("<table><tr><th>ID</th><th>Name</th><th>Age</th></tr>"); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("<tr><td>" + id + "</td><td>" + name + "</td><td>" + age + "</td></tr>"); } System.out.println("</table></body></html>"); // 关闭连接 rs.close(); stmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } ``` 此程序将从名为 `mydatabase` 的数据库中的名为 `mytable` 的表中读取数据。将数据库 URL、用户名和密码替换为您自己的值。在这个例子中,我们直接将结果输出到控制台,实际上您需要将结果输出到一个HTML页面中,这可以使用JSP等技术实现。 ### 回答2: 下面是一个使用Java来在MySQL数据库中读取数据并展示到HTML网页上的示例代码: ```java import java.sql.*; public class Main { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase"; String username = "root"; String password = "yourpassword"; try { // 连接到MySQL数据库 Connection connection = DriverManager.getConnection(url, username, password); // 创建查询语句 String query = "SELECT * FROM mytable"; // 执行查询语句 Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(query); // 创建HTML表格 StringBuilder htmlTable = new StringBuilder("<table>"); // 添加表头 ResultSetMetaData metaData = resultSet.getMetaData(); int columnCount = metaData.getColumnCount(); htmlTable.append("<tr>"); for (int i = 1; i <= columnCount; i++) { htmlTable.append("<th>").append(metaData.getColumnName(i)).append("</th>"); } htmlTable.append("</tr>"); // 添加数据行 while (resultSet.next()) { htmlTable.append("<tr>"); for (int i = 1; i <= columnCount; i++) { htmlTable.append("<td>").append(resultSet.getString(i)).append("</td>"); } htmlTable.append("</tr>"); } // 关闭连接 resultSet.close(); statement.close(); connection.close(); // 完成HTML表格 htmlTable.append("</table>"); // 输出HTML代码 System.out.println(htmlTable.toString()); } catch (SQLException e) { e.printStackTrace(); } } } ``` 请确保将上述代码中的`url`、`username`和`password`替换为正确的MySQL数据库连接信息,并且在MySQL数据库中创建一个名为`mydatabase`的数据库和一个名为`mytable`的表格。此示例代码将从`mytable`表格中检索所有数据,并将其以HTML表格的形式输出到控制台。你可以将输出HTML代码使用适当的方式显示在网页上。 ### 回答3: 以下是一个使用Java代码从MySQL数据库中读取数据并展示到HTML网页上的示例: ```java import java.sql.*; import java.io.*; public class MySqlConnectionExample { public static void main(String[] args) { try { // 连接到MySQL数据库 String jdbcUrl = "jdbc:mysql://localhost:3306/mydatabase"; String username = "root"; String password = "password"; Connection conn = DriverManager.getConnection(jdbcUrl, username, password); // 执行查询语句 Statement stmt = conn.createStatement(); String query = "SELECT * FROM users"; ResultSet rs = stmt.executeQuery(query); // 创建HTML网页输出 PrintWriter writer = new PrintWriter("output.html"); // 写入HTML头部 writer.println("<html><body>"); // 输出表格和表头 writer.println("<table border='1'>"); writer.println("<tr><th>ID</th><th>Name</th><th>Email</th></tr>"); // 输出查询结果到表格中 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); String email = rs.getString("email"); writer.println("<tr><td>" + id + "</td><td>" + name + "</td><td>" + email + "</td></tr>"); } // 写入HTML尾部 writer.println("</table>"); writer.println("</body></html>"); // 关闭所有连接和资源 rs.close(); stmt.close(); conn.close(); writer.close(); System.out.println("数据已成功从MySQL数据库中读取输出HTML网页。"); } catch (Exception e) { System.out.println("连接数据库或读取数据时出现错误:" + e.getMessage()); } } } ``` 上述代码通过使用Java中的JDBC连接到MySQL数据库,并执行一个简单的查询语句,获取"users"表中的数据。然后,它将查询结果逐行输出HTML网页中的一个表格中。最后,将HTML写入名为"output.html"的文件中。 请注意,你需要将上述代码中的"jdbc:mysql://localhost:3306/mydatabase"替换为你自己的MySQL数据库URL,"root"替换为你的数据库用户名,"password"替换为你的数据库密码。此外,你还需要确保已经导入了MySQL的JDBC驱动程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值