gpt4 book ai didi

java - 包装默认的 servlet 但覆盖默认的 webapp 路径

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:04 25 4
gpt4 key购买 nike

我有一个静态 html、imgs、flash 内容的文件夹,它位于 webapp 文件夹之外。现在我正在使用符号链接(symbolic link)将该文件夹映射到我的 webapp 目录中。我遇到的问题是,当我取消部署我的应用程序时,它会跟随符号链接(symbolic link)并删除所有这些文件。

我试图实现的解决方案之一是一个特殊的 servlet,它包装默认的 servlet 但使用不同的相对路径。我无法找到如何以覆盖默认 servlet 路径的方式包装默认 servlet。

这是我正在使用的:

public void doGet(final HttpServletRequest req, final HttpServletResponse resp)
throws ServletException, IOException {
final RequestDispatcher rd = getServletContext().getNamedDispatcher("default");
final HttpServletRequest wrapped = new HttpServletRequestWrapper(req) {

@Override
public String getServletPath() {
return "/usr/depot/repository";
}
};

rd.forward(wrapped, resp);
}

最佳答案

您可以使用自己的实现覆盖 DefaultServlet。你可以完美地将它子类化,它是一个公共(public)类。 Here是DefaultServlet的功能规范,需要遵守。

另一方面,您可以忽略 DefaultServlet 并寻求您自己的解决方案,可以找到一个示例 here .

关于java - 包装默认的 servlet 但覆盖默认的 webapp 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1478401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com