我是Java EE的新手,我知道类似以下三行
<%= x+1 %>
<%= request.getParameter("name") %>
<%! counter++; %>
Run Code Online (Sandbox Code Playgroud)
是一种旧式的编码方式,在JSP版本2中,存在一种避免JSP文件中的Java代码的方法.有人可以告诉我替代的JSP 2行,以及这种技术的名称是什么?
我有一个在Tomcat上运行的Java Web应用程序.我想加载静态图像,这些图像将在Web UI和应用程序生成的PDF文件中显示.此外,还将通过Web UI上传添加和保存新图像.
通过将静态数据存储在Web容器中但从Web容器外部存储和加载它们来解决这个问题并不是一个问题.
我不想在此时使用像Apache这样的单独的Web服务器来提供静态数据.我也不喜欢将图像以二进制形式存储在数据库中.
我已经看到一些建议,比如将图像目录作为指向Web容器外部目录的符号链接,但这种方法是否适用于Windows和*nix环境?
有人建议编写一个过滤器或servlet来处理图像服务,但这些建议非常模糊和高级别,没有指向如何实现这一目标的更详细信息.
我谷歌的错误信息getOutputStream() has already been called for this response
,许多人说这是因为空格或换行符后<%或%>,但在我的代码中,没有空格或换行符.我在linux上使用tomcat6.
<%@
page import="java.servlet.*,
javax.servlet.http.*,
java.io.*,
java.util.*,
com.lowagie.text.pdf.*,
com.lowagie.text.*"
%><%
response.setContentType("application/pdf");
Document document = new Document();
try{
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
PdfWriter.getInstance(document, buffer);
document.open();
PdfPTable table = new PdfPTable(2);
table.addCell("1");
table.addCell("2");
table.addCell("3");
table.addCell("4");
table.addCell("5");
table.addCell("6");
document.add(table);
document.close();
DataOutput dataOutput = new DataOutputStream(response.getOutputStream());
byte[] bytes = buffer.toByteArray();
response.setContentLength(bytes.length);
for(int i = 0; i < bytes.length; i++)
{
dataOutput.writeByte(bytes[i]);
}
}catch(DocumentException e){
e.printStackTrace();
}
%>
Run Code Online (Sandbox Code Playgroud)
〜
org.apache.jasper.JasperException: java.lang.IllegalStateException: …Run Code Online (Sandbox Code Playgroud) 我想使用servlet将我的音频/视频文件流式传输到Web.
我尝试使用以下servlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
File file = new File("/Users/myfolder/Documents/workspace/love.mp3");
response.setContentType(getServletContext().getMimeType(file.getName()));
response.setContentLength((int) file.length());
Files.copy(file.toPath(), response.getOutputStream());
}
Run Code Online (Sandbox Code Playgroud)
以下HTML:
<a href="/media" data-format="mp3 ogg">Click Here!</a>
Run Code Online (Sandbox Code Playgroud)
但是,播放器正在加载... loading ... loading ...
这是怎么造成的,我该如何解决?