gpt4 book ai didi

java - @WebServlet 带有来自 xml 的初始化参数

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:48 26 4
gpt4 key购买 nike

我正在检查 web servlet 的新注释,但我不明白如何从易于修改的位置传递初始参数 (init-param)。是的,我找到了注解 @WebInitParam,但这意味着您必须将值写入代码,我想这忽略了 web.xml 中轻松更改的要点。

那么这里有什么交易?在这种情况下不要使用@WebServlet吗?

最佳答案

一个有趣的用例,事实证明你可以(我的配置:JBoss 7.1.1):

小服务程序:

@WebServlet(name="fooServlet", urlPatterns="/foo")
public class FooServlet extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String flip = getInitParameter("flip");
resp.getWriter().println("<html>" +
"<head><title>" + getServletName() + "</title></head>" +
"<body>From " + getServletName() + ": " + flip + "</body>" +
"</html>"
);
}
}

内部web.xml (注意 name 是相同的,并且没有指定 <servlet-class>):

<servlet>
<servlet-name>fooServlet</servlet-name>
<init-param>
<param-name>flip</param-name>
<param-value>flop</param-value>
</init-param>
</servlet>

flip = getInitParameter("flip") 的值设置为 flop ,如 web.xml 中指定!


顺便问一下,我想知道这是 JBoss 的特性还是标准。 是标准的,见Servlet 3.0 specification ,第 8.2.1 章“web.xml 的模块化”。

关于java - @WebServlet 带有来自 xml 的初始化参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19023240/

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