Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Servlet / 9 сообщений из 9, страница 1 из 1
04.01.2021, 00:52
    #40033317
colacoca
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Servlet
Было задание: Webapp должен быть реализован на основе сервлетов http и фильтров сервлетов. Нужно было реализовать калькулятор. Все тесты по калькулятору прошли, но не проходит этот тест, могли бы вы подсказать, что делать в данной ситуации, чтобы тест прошёл

Тест:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    @Test
    public void testSources() throws IOException {
        assertFalse(Utils.findInSource("javax.servlet.Filter"));
        assertFalse(Utils.findInSource("javax.servlet.http.HttpServlet"));
        assertFalse(Utils.findInSource("HttpServlet"));
        assertFalse(Utils.findInSource("doGet"));
        assertFalse(Utils.findInSource("doPost"));
        assertFalse(Utils.findInSource("doPut"));
        assertFalse(Utils.findInSource("doDelete"));
    }



Util класс

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
class Utils {

    private static Stream<String> uncheckedLines(final Path path) {

        try {
            return Files.lines(path);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    static boolean findInSource(final String s) throws IOException {

        return Files.walk(Paths.get("src", "main", "java"))
                .filter(p -> p.getFileName().toString().endsWith(".java"))
                .flatMap(Utils::uncheckedLines)
                .anyMatch(line -> line.contains(s));
    }
}
...
Рейтинг: 0 / 0
04.01.2021, 02:29
    #40033325
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Servlet
Задание как-то изложено сумбурно. И если заходить с этой стороны то мы не решаем задачу а хачим
сам тест.

Насколько я понимаю твой исходних просто должен содержать строчки javax.servlet.Filter, e.t.c.

Этого добиться легко. Можно просто включить это без особого смысла в каменты или код.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
import javax.servlet.Filter.*;
import javax.servlet.http.HttpServlet.*

public class MyFuckenServlet extends HttpServlet {

  public void doGet() {....}
  public void doPost() {....}

  .....
}



P.S. И проверяльщик написан не оптимально кст. Будет по 8 раз каждый файл открывать.
...
Рейтинг: 0 / 0
04.01.2021, 12:05
    #40033364
colacoca
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Servlet
mayton, Там наоборот нужно сделать так, чтобы мой код не содержал эти строчки. Просто я не знаю как это сделать

Допустим этот код не проходит проверку на HttpServlet и doDelete

Код: 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.
@WebServlet(
        name = "CalcDelete",
        urlPatterns = {"/calc/delete"}
)
public class CalcDelete extends HttpServlet {

    @Override
    protected void doDelete(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        PrintWriter out = response.getWriter();

        HttpSession session = request.getSession();

        session.removeAttribute((String) session.getAttribute("delete"));

        session.removeAttribute("delete");



        response.setStatus(204);
        System.out.println("delete");
    }
}
...
Рейтинг: 0 / 0
04.01.2021, 12:17
    #40033366
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Servlet
Ничего не понятно.
...
Рейтинг: 0 / 0
04.01.2021, 12:35
    #40033368
fixxer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Servlet
mayton
Ничего не понятно.


+1 Что значит реализовать на основе сервлетов http не используя HttpServlet?
...
Рейтинг: 0 / 0
04.01.2021, 12:50
    #40033370
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Servlet
Допустим, можно использовать только javax.servlet.Servlet и метод service(), но как не использовать javax.servlet.Filter, если сказано его использовать?
Кто-то чего-то не договаривает.

Вариант: импортировать javax.servlet.*
...
Рейтинг: 0 / 0
04.01.2021, 13:19
    #40033376
colacoca
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Servlet
Alexander A. Sak, я так и сделал вместо javax.servlet.Filter поставил javax.servlet.*, а вместо javax.servlet.http.HttpServlet -javax.servlet.http.*. И это работает, но когда доходит до assertFalse(Utils.findInSource("HttpServlet")) прерывается, т.к. ожидалось, что не будет реализован класс HttpServlet

Может получится если через xml объявить все сервлеты
...
Рейтинг: 0 / 0
04.01.2021, 13:27
    #40033378
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Servlet
Реализуй на JSP.

На SpringBoot + RestAPI. Да масса вариантов есть. Но мне кажется что ты все таки задание не понял.

Так глубоко в дебри никто из студентов не лезет.
...
Рейтинг: 0 / 0
04.01.2021, 19:03
    #40033452
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Servlet
colacoca
Alexander A. Sak, я так и сделал вместо javax.servlet.Filter поставил javax.servlet.*, а вместо javax.servlet.http.HttpServlet -javax.servlet.http.*. И это работает, но когда доходит до assertFalse(Utils.findInSource("HttpServlet")) прерывается, т.к. ожидалось, что не будет реализован класс HttpServlet


Я предлагал использовать javax.servlet.Servlet вместо javax.servlet.http.HttpServlet
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Servlet / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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