java通过Servlet访问静态资源
我有网络。将url映射到html页面的xml配置。问题是这个html页面有指向js、css和字体文件的链接,这些文件位于同一目录或子目录中,服务器默认返回404,因为不存在显式映射
如何获取所有这些静态文件(但仅限于特定前缀)
我试着做了以下几件事
<servlet>
<servlet-name>myPage</servlet-name>
<servlet-class>com.test.MyPageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myPage</servlet-name>
<url-pattern>/myPage/*</url-pattern>
</servlet-mapping>
MyPageServlet。爪哇
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
FileInputStream inputStream = new FileInputStream(new File(... omitted));
OutputStream outputStream = resp.getOutputStream();
int BUFF_SIZE = 1024;
byte[] buffer = new byte[BUFF_SIZE];
try {
int byteRead = 0;
while ((byteRead = inputStream.read()) != -1) {
outputStream.write(buffer, 0, byteRead);
}
outputStream.flush();
} catch (Exception e) {
System.out.println(e);
} finally {
outputStream.close();
inputStream.close();
}
}
首先,我自己实现了它,然后在这个article(解决方案#2)上遇到了它,在这里,它与我之前所做的相同
问题是接收到的输出不可读,所以浏览器无法解释它。我也尝试过以字符串的形式读取文件,但如果是二进制文件(图标、字体等),读取失败
共 (0) 个答案