Webサーブレットの新しい注釈を確認していますがinit-param
、簡単に変更できる場所から初期パラメーター ( ) を渡す方法がわかりません。はい、私は注釈を見つけまし@WebInitParam
たが、それは値をコードに書き込む必要があることを意味します。これは、web.xml で簡単に変更するためのポイントを逃していると思います。
それで、ここで何をしますか?@WebServlet
こんな時は使いませんか?
Webサーブレットの新しい注釈を確認していますが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>"
);
}
}
内部(名前は同じで、noが指定されている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>
の値flip = getInitParameter("flip")
はflop
、web.xml
!
ところで、これは JBoss の機能なのか、それとも標準なのか疑問に思っていました。これは標準です。サーブレット 3.0 仕様の 8.2.1 章「web.xml のモジュール性」を参照してください。
はい、できます。
定数ファイルで
public static String SOME_STRING= "stringVal";
そして、それをサーブレットにインポートします
import static something.Constants.SOME_STRING;
@WebInitParam(name=SOME_STRING ,.....)
これで、すべてのニーズに合わせて着替えることができConstants
ます。