我希望大家不要介意我问一个稍微有点未来的问题。如果我的理解不正确,请原谅我(请纠正我!)Servlet 3引入了几个新的注释,包括:
@WebServlet
@WebFilter
@WebListener
还有一个叫做web-fragment.xml.的东西这些似乎都是为了使部署servlet、过滤器和侦听器成为可能,而不必编辑web.xml。
这是否意味着,如果我包含一个来自不择手段的提供者的JAR文件,他们可以在我的web应用程序中在我不知情的情况下显示servlet、过滤器和侦听器?
发布于 2010-08-06 13:58:25
可以,但这里的问题不在规范中:而是运行不受信任的代码。如果允许加载和运行一个您不信任的jar,那么它可能会做一些比外观servlet更糟糕的事情。
发布于 2010-08-06 13:58:37
可能会,也可能不会。(我不确定)。但是,如果您担心那些不择手段的提供者可能会在他们的JAR中做的事情,那么在普通的旧Java中,还有很多其他的讨厌的事情可以做。如果您担心这类事情,您确实需要坚持获取源代码,并且需要对代码进行彻底的审核,然后才能将其放到生产服务器上。
发布于 2010-08-06 13:59:21
您可以在主<absolute-ordering>部署描述符中使用一个web.xml元素来仅列出web.xml/lib中的jar文件,您希望在部署期间自动分析这些jar文件中的注释和web片段. and描述符。
如果这样做,则不会自动部署其他JAR文件中web片段或带注释的类的内容。
https://stackoverflow.com/questions/3424410
复制相似问题