首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

連載2、Servlet 3.0の6つのEase of Development

2012-11-09 
連載二、Servlet 3.0の6つのEase of DevelopmentServlet 3.0では、EoDとして「Annotation based configuration」を新しく

連載二、Servlet 3.0の6つのEase of Development

Servlet 3.0では、EoDとして「Annotation based configuration」を新しく定義しました。アノテーションを利用することでServletの開発が簡単になります。

Servlet 3.0で導入した「Annotation based configuration」を利用すると、「@WebServlet」というアノテーションを付加するだけでOKです。

?

@WebServlet(name="WebServletTest",urlPatterns={"/test"})   //web.xmlに記入必要なくになりました。public class WebServletTest extends HttpServlet {     private static final long serialVersionUID = 1L;     @Override    protected void doGet(HttpServletRequest req, HttpServletResponse resp)            throws ServletException, IOException {        resp.getWriter().print("HELLO!");    }}

?

初期化パラメータを使用する場合でも、従来なら以下のようにweb.xmlのServletマッピングに設定を追加していました。

?

@WebServlet(name="WebServletTest",urlPatterns={"/test"},        initParams={@WebInitParam(name="name",value="HELLO!!")})public class WebServletTest extends HttpServlet {     private static final long serialVersionUID = 1L;     @Override    protected void doGet(HttpServletRequest req, HttpServletResponse resp)            throws ServletException, IOException {        resp.getWriter().print(getInitParameter("name"));            }}

?

Filterを使用する場合は「@WebFilter」を利用するだけでOKです。

?

@WebFilter(filterName="WebFilterTest", urlPatterns="/test")public class WebFilterTest implements Filter {     @Override    public void destroy() {        //TODO    }     @Override    public void doFilter(ServletRequest req, ServletResponse res,            FilterChain chain) throws IOException, ServletException {        // TODO        chain.doFilter(req, res);        // TODO    }     @Override    public void init(FilterConfig config) throws ServletException {        //TODO    }}
?

Listenerもweb.xmlにマッピングしなくても、@WebListenerを以下のServlet仕様で定義されたListenerのインターフェイスを実装したクラスにアノテーションするだけで利用できます。

?

@WebListener()public class TestServletContextListener implements ServletContextListener {     @Override    public void contextDestroyed(ServletContextEvent event) {        // TODO    }     @Override    public void contextInitialized(ServletContextEvent event) {        // TODO    }}
?

?

热点排行