我有一个jsp页面,其中有一个下载链接。单击该链接时,它将调用一个servlet downloadservlet,该servlet从数据库获取要下载的文件。但问题是我发送给servlet的文件的标题包含空格。乙二醇=
我现在使用jsp文件下载pdf。此处pdf已下载,但无法打开。任何人都可以建议对代码进行任何更改。
下载jsp
<%@page import="java.sql.*,java.io.*"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
String connectionURL = "jdbc:oracle:thin:@localhost:1521:xe";
String title = request.getParameter("title");
Statement stmt = null;
Connection con = null;
Blob b=null;
try
{
String filename = title+".pdf";
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(connectionURL, "shivashukla", "system");
stmt = con.createStatement();
String qry = "select * from law where title ='" + title+"'";
ResultSet rst = stmt.executeQuery(qry);
if (rst.next())
{
b = rst.getBlob(6);
}
InputStream in = b.getBinaryStream();
byte b1[] = new byte[(int) b.length()];
in.read(b1);
response.reset();
//response.setContentType("*.pdf");
response.setHeader("cache-control", "no-cache");
//response.setHeader("Content-disposition", "attachment; filename=" + filename);
response.setContentType("application/pdf");
response.setHeader("Content-disposition","attachment; filename="+filename);
}
catch (Exception e)
{
e.printStackTrace();
}
%>
jsp页面
<body style="background-color: antiquewhite;">
<%
try {
String cat = (String)session.getAttribute("cat");
String state = (String)session.getAttribute("state");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "shivashukla",
"system");
PreparedStatement ps = con.prepareStatement("select * from law where category=? and state=?");
ps.setString(1, cat);
ps.setString(2, state);
ResultSet rs = ps.executeQuery();
%>
<table class="table table-bordered table-responsive table-hover" >
<tr>
<th>SECTION</th>
<th>CATEGORY</th>
<th>TITLE</th>
<th>STATE</th>
<th>YEAR</th>
<th>PDF</th>
</tr>
<%
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><a href="downloadservlet?title=<%=rs.getString(3)%>" target="_blank">Download</a>
</td>
</tr>
<%
}
} catch (Exception e) {
System.out.println(e);
}
%>
</table>
</body>
您可以使用java。网URL解码器。解码()
。
尝试从以下位置更改:
String fn = req.getParameter("title");
致:
String fn = java.net.URLDecoder.decode(req.getParameter("title"));
问题内容: 如何检查字符串是否包含空格字符,空格或“”。如果可能,请提供一个Java示例。 例如: 问题答案: 要检查字符串是否 包含空格,请 使用并调用它的find方法。 如果要检查它是否 仅包含空格, 则可以使用:
处理JSP页时发生异常。第62行 后来呢 bean名称'command'的BindingResult和普通目标对象都不能作为请求属性使用
问题内容: 我需要在系统内进行一些自动测试。有些字段得到了验证,可能不能仅仅通过它来完成(然后,我正在做,它只写了一个字符串,而不是整个字符串。尝试通过字符串迭代sendKeys,也不起作用) 现在,我正在尝试通过javascript将值输入字段。有类似的东西: 但是,我不希望在executeScript中具有值,而在java变量中具有值,因此它看起来更好地工作。并得到一些随机化 我该怎么做? 问
我正在创建一个活动,仅当edittext的内容不是空字符串时,才允许您向edittext中的邮件发送重置链接。但我的控制失灵了。以下是完整的代码: 实际上,在任何情况下,即使字符串为空 (= "") 条件为真,因此我有这个错误: 2021-06-02 16:26:55.015 28645-28645/com。康塔。pophome E/AndroidRuntime:致命异常:主进程:com。康塔。p
问题内容: 我正在构建Android应用程序的项目的C 方面。我需要一些信息(通过字符串和字符串数组)传递给Java应用程序(通过JNI)。我以前从未做过,相反方向的人没有C 的经验,并承认他们不能真正提供帮助。 我确实找到了以下代码(从这里开始) 但这对我来说毫无意义。通常,我不确定如何将其合并到程序的C ++端,而且我无法确切了解其工作原理。代码是否在执行该行时发出消息?还是在for循环中执行
问题内容: 如何删除python字符串中的所有空格?例如,我希望将一个字符串转换为,但是我似乎无法通过以下方式完成此操作: 问题答案: 利用没有sep参数的str.split的行为: 如果只想删除空格而不是所有空格: 过早优化 尽管效率不是主要目标(编写清晰的代码是),但以下是一些初始时间: 请注意,正则表达式已缓存,因此它没有您想象的那么慢。编译事前帮助一些,但在实践中,如果你把这个只会重要 很