/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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.apache.sling.archetype.servlet.testing; import java.io.IOException; import java.io.Writer; import javax.servlet.ServletException; import org.apache.felix.scr.annotations.Properties; import org.apache.felix.scr.annotations.Property; import org.apache.felix.scr.annotations.sling.SlingServlet; import org.apache.sling.api.SlingHttpServletRequest; import org.apache.sling.api.SlingHttpServletResponse; import org.apache.sling.api.servlets.SlingSafeMethodsServlet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Hello World Servlet registered by path * * Annotations below are short version of: * * @Component * @Service(Servlet.class) * @Properties({ * @Property(name="service.description", value="Hello World Path Servlet"), * @Property(name="service.vendor", value="The Apache Software Foundation"), * @Property(name="sling.servlet.paths", value="/hello-world-servlet") * }) */ @SlingServlet(paths="/hello-world-servlet") @Properties({ @Property(name="service.description", value="Hello World Path Servlet"), @Property(name="service.vendor", value="The Apache Software Foundation") }) @SuppressWarnings("serial") public class ByPathServlet extends SlingSafeMethodsServlet { private final Logger log = LoggerFactory.getLogger(ByPathServlet.class); @Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { Writer w = response.getWriter(); w.write("<!DOCTYPE html PUBLIC \"-//IETF//DTD HTML 2.0//EN\">"); w.write("<html>"); w.write("<head>"); w.write("<title>Hello World Servlet</title>"); w.write("</head>"); w.write("<body>"); w.write("<h1>Hello World!</h1>"); w.write("</body>"); w.write("</html>"); log.info("Hello World Servlet"); } }