/* * Copyright 2012 Harald Wellmann. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. * * See the License for the specific language governing permissions and * limitations under the License. */ package org.ops4j.pax.cdi.sample1.web.session; import java.io.IOException; import javax.enterprise.context.SessionScoped; import javax.enterprise.inject.spi.BeanManager; import javax.inject.Inject; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @SuppressWarnings("serial") @WebServlet(urlPatterns = "/session") public class SessionServlet extends HttpServlet { @Inject private BeanManager beanManager; @Inject private SimpleSessionBean sessionBean; @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (!beanManager.getContext(SessionScoped.class).isActive()) { throw new ServletException("session is not active"); } else { super.service(request, response); } } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { sessionBean.getTimestamp(); response.setContentType("text/text"); response.getWriter().println("It worked!"); } }