servlet中init参数有什么用?我知道这个名字本身意味着初始化一些东西,但我的问题是什么?
在 servlet web.xml 中使用 init 参数还有其他优点吗?
我尝试在网上搜索但找不到它的确切用法。
最佳答案
我有一个 servlet 过滤器,当给出特殊的 URL 参数时,它必须绕过正常的授权流程。在 web.xml 中声明该参数,而不是在 java 中硬编码该参数,其优点是能够不时更改它。
一般来说,这同样适用于最适合声明性的所有设置:超时、最大接受图像大小、缓冲区大小。 “几乎永恒”的常数。
在一种情况下,servlet 可以保持完全通用,但键名称是业务应用程序(=人类客户端)特定的:
x.y.general.servlets.MyGenericServlet -> neutral library code
x.y.clients.abc -> ABC specific code
web.xml:
<servlet>
<servlet-name>My Servlet</servlet-name>
<servlet-class>x.y.general.servlets.MyGenericServlet</servlet-class>
<init-param>
<description>For ABC</description>
<param-name>keyName</param-name>
<param-value>ABC_ID</param-value>
</init-param>
</servlet>
关于java - java servlet中初始化参数的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27271333/