JIV*_*JIV 3 java web.xml servlets init-parameters
我正在检查Web Servlet的新注释,但是我不明白如何init-param从易于修改的位置传递初始参数()。是的,我找到了注解@WebInitParam,但这意味着您必须将值写入代码中,我想这没有抓住web.xml中易于更改的要点。
那这里怎么办?@WebServlet在这种情况下不使用?
一个有趣的用例,事实证明您可以(我的配置:JBoss 7.1.1):
Servlet:
@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>"
);
}
}
Run Code Online (Sandbox Code Playgroud)
内部web.xml(注意名称相同,但未<servlet-class>指定):
<servlet>
<servlet-name>fooServlet</servlet-name>
<init-param>
<param-name>flip</param-name>
<param-value>flop</param-value>
</init-param>
</servlet>
Run Code Online (Sandbox Code Playgroud)
的值flip = getInitParameter("flip")设定为flop,在指定的web.xml!
顺便说一句,我想知道这是JBoss的功能还是标准功能。它是标准的,请参阅Servlet 3.0规范,第8.2.1节“ web.xml的模块化”。
| 归档时间: |
|
| 查看次数: |
1634 次 |
| 最近记录: |