Я запускаю Jetty сервер и пытаюсь зарегистрировать сервлет. Вот в таком виде все работает:
import com.crest.test.http.XmlParserServlet;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.ServletContextHandler;
public class JettyServer {
public static void start(int port) throws Exception {
Server server = new Server(port);
ServletContextHandler context = new ServletContextHandler(
ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.setResourceBase("src/main/resources/pages");
server.setHandler(context);
// Add dump servlet
context.addServlet(XmlParserServlet.class, "/xml");
// Add default servlet
context.addServlet(DefaultServlet.class, "/");
server.start();
server.join();
}
}
Но стоит мне удалить строчку с DefaultServlet - получаю Error 500: StackOverFlow. Вот сам сервлет:
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class XmlParserServlet extends DefaultServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestDispatcher("xml.jsp").forward(request, response);
}
}
Если что стакТрэйс тоже скину, просто он там километровый. Спасибо за помощь
DefaultServlet отвечает за загрузку статического контента, поэтому он мапится на /
. То есть все запросы, на которые нету мапинга приходят на него, в том числе и запросы с *.jsp
.
request.getRequestDispatcher("xml.jsp").forward(request, response);
Вы используете запрос JSP который должен обрабатываться этим сервлетом, иначе диспатчер выдаст ошибку, что файл не найден или что-то в этом роде, и затем выкинет ошибку 500.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь сделать приложение на полный экран (для всех активити)Создал абстрактный FullscreenActivity и наследую от него остальные активити
До сборки проекта путь к ресурсам такой "src/main/resources/", после сборки этот путь уже не работает, тк в файле jar ресурсы находятся в самом начале
В общем я выучил Python, в нем можно просто написать