powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Jetty/Servlet. No SessionManager error.
5 сообщений из 5, страница 1 из 1
Jetty/Servlet. No SessionManager error.
    #38449186
eldarkaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите правильно настроить Jetty. Я использую последнюю версию Jetty (9.0.6.v20130930). Я приказал серверу выполнить конкретный сервлет, но этого не делает(что ему не хватает?). Уже пару раз компилировал и все нормально было, правда сервлет наследовался от HttpServlet , а теперь от AbstractHandler .

-- Main.class

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 public static void main(String[] args) throws Exception
    {
        MessageSystem ms = new MessageSystem();
        Frontend frontend = new Frontend(ms);

        (new Thread(frontend)).start();

        Server server = new Server(8080);
        server.setHandler(frontend);

        server.start();
        server.join();

    }


-- Frontend.class

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
public class Frontend extends AbstractHandler implements Runnable, Abonent {
    ... constructor and others methods...

    public void handle(String target, Request baseRequest,
                      HttpServletRequest request,
                      HttpServletResponse response)
            throws IOException, ServletException
    {
        setResponseSettings(baseRequest,response);
        PrintWriter out = response.getWriter();

        try {
            int id;
            HttpSession session = request.getSession();
            if( session.isNew()){
                id = setSessionId(session);
                pageContent = "Hello new user! Your id: "+id;
                out.println(new Page().enterName());
            }else{
                id = getSessionId(session);
                pageContent = "Hi! I remember you. You are: " +id;
                out.println(new Page().normalContent());
            }
        }
        catch (IllegalStateException ex){
            System.out.println("Exception!"+ex);
        }
        out.println("<H1>" + pageContent + "</H1>");
        Iterator iterator = listStrings.iterator();
        while (iterator.hasNext()){
            out.println("<br>");
            out.println("Your text from TextField: "+iterator.next());
        }
        out.close();
    }


-- Сonsole
Код: java
1.
2.
3.
4.
2013-11-01 04:06:24.273:INFO:oejs.Server:main: jetty-9.0.6.v20130930
2013-11-01 04:06:24.309:INFO:oejs.ServerConnector:main: Started ServerConnector@358e0f79{HTTP/1.1}{0.0.0.0:8080}
Exception!java.lang.IllegalStateException: No SessionManager
Exception!java.lang.IllegalStateException: No SessionManager
...
Рейтинг: 0 / 0
Jetty/Servlet. No SessionManager error.
    #38449253
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что мешает подключить исходники Jetty, и пройтись дебаггером по тому месту, откуда вылезает это исключение?
...
Рейтинг: 0 / 0
Jetty/Servlet. No SessionManager error.
    #38449425
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://bugs.eclipse.org/bugs/show_bug.cgi?id=403369
Указать SessionManager, наверное надо?
...
Рейтинг: 0 / 0
Jetty/Servlet. No SessionManager error.
    #38451527
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AbstractHandler маловато. Вам, как минимум, в качестве базового класса нужен ServletHandler. Наличие HttpServletRequest и HttpServletResponse и другого servlet api вовсе не означает, что сервлеты используются, как того требует спецификация. Jetty использует интерфейсы sertvlet api для любых handler, а не только тех, кторые в пакете org.eclipse.jetty.servlet
...
Рейтинг: 0 / 0
Jetty/Servlet. No SessionManager error.
    #38451534
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то что-то Вы не то делаете. Если у Вас сервлет, то не надо никакого нового потока, он и так исполняется в потоке.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
   public static void main(String[] args) throws Exception {
        Server server = new Server(8083);
        ServletContextHandler h = new ServletContextHandler();
        
        server.setHandler(h);

      
        h.addServlet(HelloServlet.class, "/*");

        server.start();
        server.join();
    }

    public static class MyServlet extends HttpServlet {

        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            response.setContentType("text/html");
            response.setStatus(HttpServletResponse.SC_OK);
            response.getWriter().println("<h1>My Servlet</h1>");
        }
    }
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Jetty/Servlet. No SessionManager error.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]