サーブレット3.0に導入された新しいプロパティの紹介(2)
3884 ワード
@WebInitParam
@WebInitParam注記を使用して、サーブレットまたはfilterの初期パラメータを設定できます.もちろん@WebServiceまたは@WebFilterのinitParamプロパティを使用して初期パラメータを指定することもできます.@WebInitParamを使用した例を次に示します.
次に、initParamプロパティを使用する例を示します.
@WebListener
@WebListener注釈はlistenerとしてwebアプリケーションイベントを傍受するクラスに適用されるので、@WebListenerは、サーブレットContextListener、サーブレットContextAttributeListener、サーブレットRequestListener、サーブレットRequestAttributeListener、HttpSessionListener、およびHttpSessionAttributeListenerインタフェースを実現するクラスに適用される.次の例では、このクラスはサーブレットContextListenerインタフェースを実装する.
@MultipartConfig
@MultipartConfig注記を使用して、サーブレットが要求するMultipart MIMEタイプを指定します.このタイプのMIME添付ファイルはrequestオブジェクトから読み込まれます.
The Metadata and Common Annotationsメタデータと共通の注釈
サーブレット3.0は、前述のサーブレット固有の注釈に加えて、JSR 175(Javaメタデータ仕様)およびJSR 250(Javaプラットフォーム共通注釈)で規定された注釈をサポートします.
* @DeclareRolesや@RolesAllowedなどのセキュリティ関連の注釈
* @EJBや@EJBsなどのEJBを使用した注記
* @Resourcesや@Resourcesなどのリソース注入に関する注記
* @PersistenceContext,@PersistenceContexts,@PersistenceContexts,@PersistenceUnit,@PersistenceUnitsなどのJPAを使用した注記
* @PostConstructや@PreDestroyなどのライフサイクルの注記
* @WebServiceRefand@WebServiceRefsなどのWebServiceRef参照の注記を提供
注記とweb.xmlのどちらが有効になりますか?
注記の導入によりweb.xmlがオプションになりました.しかし、web.xmlは使用できます.コンテナは、web.xmlのmetadata-complete要素の値に基づいて、web.xmlを使用するか、注釈を使用するかを決定します.要素の値がtrueの場合、コンテナは注釈を処理せず、web.xmlはすべての情報のソースです.要素が存在しない場合、またはその値がtrueでない場合、コンテナは注釈を処理します.
転載先
開発者の空
@WebInitParam注記を使用して、サーブレットまたはfilterの初期パラメータを設定できます.もちろん@WebServiceまたは@WebFilterのinitParamプロパティを使用して初期パラメータを指定することもできます.@WebInitParamを使用した例を次に示します.
@WebServlet(name = "GetQuoteServlet", urlPatterns = {"/getquote"})
@WebInitParam(name = "default_market", value = "NASDAQ")
public class GetQuoteServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String market = getInitParameter("default_market");
String symbol = request.getParameter("symbol");
out.println("<h1>Stock Price in " + market + " is</h1>" + StockQuoteBean.getPrice(symbol, market));
} finally {
out.close();
}
}
}
次に、initParamプロパティを使用する例を示します.
@WebServlet(name = "GetQuoteServlet",
urlPatterns = {"/getquote"},
initParams={@WebInitParam(name="default_market", value="NASDAQ")}
)
public class GetQuoteServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String market = getInitParameter("default_market");
String symbol = request.getParameter("symbol");
out.println("<h1>Stock Price in " + market + " is</h1>" + StockQuoteBean.getPrice(symbol, market));
} finally {
out.close();
}
}
}
@WebListener
@WebListener注釈はlistenerとしてwebアプリケーションイベントを傍受するクラスに適用されるので、@WebListenerは、サーブレットContextListener、サーブレットContextAttributeListener、サーブレットRequestListener、サーブレットRequestAttributeListener、HttpSessionListener、およびHttpSessionAttributeListenerインタフェースを実現するクラスに適用される.次の例では、このクラスはサーブレットContextListenerインタフェースを実装する.
@WebListener
public class QuoteServletContextListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce) {
ServletContext context = sce.getServletContext();
context.setInitParameter(“default_market”, “NASDAQ”);
}
public void contextDestroyed(ServletContextEvent sce) {
}
}
@MultipartConfig
@MultipartConfig注記を使用して、サーブレットが要求するMultipart MIMEタイプを指定します.このタイプのMIME添付ファイルはrequestオブジェクトから読み込まれます.
The Metadata and Common Annotationsメタデータと共通の注釈
サーブレット3.0は、前述のサーブレット固有の注釈に加えて、JSR 175(Javaメタデータ仕様)およびJSR 250(Javaプラットフォーム共通注釈)で規定された注釈をサポートします.
* @DeclareRolesや@RolesAllowedなどのセキュリティ関連の注釈
* @EJBや@EJBsなどのEJBを使用した注記
* @Resourcesや@Resourcesなどのリソース注入に関する注記
* @PersistenceContext,@PersistenceContexts,@PersistenceContexts,@PersistenceUnit,@PersistenceUnitsなどのJPAを使用した注記
* @PostConstructや@PreDestroyなどのライフサイクルの注記
* @WebServiceRefand@WebServiceRefsなどのWebServiceRef参照の注記を提供
注記とweb.xmlのどちらが有効になりますか?
注記の導入によりweb.xmlがオプションになりました.しかし、web.xmlは使用できます.コンテナは、web.xmlのmetadata-complete要素の値に基づいて、web.xmlを使用するか、注釈を使用するかを決定します.要素の値がtrueの場合、コンテナは注釈を処理せず、web.xmlはすべての情報のソースです.要素が存在しない場合、またはその値がtrueでない場合、コンテナは注釈を処理します.
転載先
開発者の空