【问题标题】:importing class to JSP将类导入 JSP
【发布时间】:2011-05-08 07:23:19
【问题描述】:

我有一个 text.class 文件,它位于我的 .jsp 文件的同一目录中,如何将它包含在我的 jsp 文件中?通常所有的类都应该在WEB-INF中,但是我不能把它放在那里。通常我做的是:

其中 Test 是 WEB-INF 中的一个文件夹,那么我现在该怎么做呢?

【问题讨论】:

标签: java jsp import


【解决方案1】:

不是真正的答案,而是您应该检查的警告。 将类文件放在 JSP 文件夹中可能会导致安全问题。 servlet 容器允许对根 Web 应用程序目录(或 war 文件内)下的所有内容进行 HTTP 访问,但 WEB-INF 和 META-INF 文件夹的内容除外。这些文件夹默认受到保护。

如果你把一个类放在不同的位置,有人可以访问下载它只需在他的浏览器导航栏上写下 URL:

http://host:port/appContext/Test/test.class

我不知道您的应用是否处理敏感数据,或者您的类是否包含访问应用主要组件的代码,如果有人下载并反编译您的代码,这些可能会暴露:这是一种严重的安全风险。

重新考虑您的应用程序结构,将您的类保留在 WEB-INF/classes 目录下。或者至少,将您的容器或 Web 应用配置为禁止通过 HTTP 请求访问 *.class 资源。

【讨论】:

    【解决方案2】:
    <%@ page import="Test.test" %>  
    

    假设 Test.test 在你的类路径中。更好的地方是:

    WEB-INF/classes/Test/test
    

    【讨论】:

    • 我不能把它放在 WEB-INF 上,正如我之前所说的......所以考虑到这一点?
    • @EquinoX 我建议您只放在那里,其他方式将其保留在任何地方,但将其添加到项目的类路径中的测试目录中。它会解决它
    猜你喜欢
    • 2011-11-24
    • 2013-02-16
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    相关资源
    最近更新 更多