標準の JSP 機能を直接使用する方法はありません。コントローラーの手段がないため、オールドスクールの<jsp:useBean>
アプローチもMVCとはほど遠いものです。Spring MVC、JSFなどのビューとして JSP をサポートする既存の MVC フレームワークを選択するだけです (ただし、JSF はバージョン 2.0 以降の JSP の後継である Facelets をデフォルトのビュー テクノロジとして使用します)、そのマネージド Bean 機能を使用します。最新の MVC フレームワークは注釈をサポートしています。
この特定のケースでは、アプリケーション スコープ Bean を使用して、MVC フレームワークを必要とせずにアノテーションを使用する完全に異なる代替手段は、ServletContextListener
でアノテーションが付けられた を使用することです@WebListener
。
@WebListener
public void Config implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
event.getServletContext().setAttribute("p", new Person());
}
// ...
}
Person
(ただし、アプリケーション スコープにa のようなものがあるのはかなり奇妙ですが...)
セッション スコープの場合は実装できHttpSessionListener
、リクエスト スコープの場合はServletRequestListener
. この方法はかなり不器用です。まともなMVCフレームワークを本当に検討したいと思います。