【问题标题】:Possible to set base directory for a J2EE webapp on a request-by-request basis?可以根据请求为 J2EE webapp 设置基本目录吗?
【发布时间】:2011-08-04 06:11:27
【问题描述】:

我们有一个 Java/J2EE Web 应用程序,不同的用户应该看到不同的页面。我们让用户登录,在会话中粘贴 userId,让他们使用 webapp。

我想做的是为每个用户创建一个单独的目录,他们可以在其中查看自己的文件和网页。理想情况下,我可以创建一个 servlet 过滤器来查看 userId,并仅为该请求设置 webapp 的基本目录。基本目录需要存在于 /webapps 目录之外。

有没有办法使用标准的 servlet 东西来做到这一点?

如果没有,是否可以使用特定于 servlet 容器的代码?我们可以使用 Jetty 或 Tomcat,甚至可能使用 Glassfish。

【问题讨论】:

    标签: java tomcat servlets jakarta-ee jetty


    【解决方案1】:

    我认为你需要决定你想要做什么:

    • 如果您只希望用户能够登录并查看文件和网页,请忘记 J2EE,只需配置 Apache Web 服务器即可。它可以进行安全登录、浏览用户的主目录等。

    • 1234563要显示网页,请在要显示的特定文件上打开InputStream,并将其复制到 servlet 的 OutputStream。不要忘记正确设置HttpServletResponse 上的内容类型(例如网页的“text/html”)。

    【讨论】:

    • 我认为编写我们自己的 servlet 是我们必须要做的。问题是我们必须复制默认静态文件处理程序在 servlet 容器中所做的一切。那里可能有很多东西:缓存、zip 压缩等。我不想重新发明轮子,因此提出了这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2016-04-03
    • 2012-05-19
    • 2019-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多