Комментарии 16
Господи, за что?..
+8
Я правильно понимаю, что
будет возвращать true для метода с @RequestMapping(path = "/") и urlMapping равного "/hello.html"?
urlMapping.contains(method.getAnnotation(RequestMapping.class).path())
будет возвращать true для метода с @RequestMapping(path = "/") и urlMapping равного "/hello.html"?
+1
если делать по уму то там должен быть некий хитрый RegExp, который будет парсить url, отделять от него параметры (для GET), здесь ознакомительный контроллер, с 2 @RequestMapping отличными от @RequestMapping(path = "/"). Парсинг примитивно сделан
-1
И еще вопрос если я запрашиваю у вас адрес вида "/post.html?postid=461965#habracut" то что вернёт parseRequestParameter?
+1
В догонку, так как вы выложили полную версию кода мне сложно об этом говорить, но кажется что всесто
bufferedWriter.write(ERROR + ERROR_MESSAGE.length() + OUTPUT_END_OF_HEADERS + readFile(fileName, param));
Должно бытьbufferedWriter.write(ERROR + ERROR_MESSAGE.length() + OUTPUT_END_OF_HEADERS + ERROR_MESSAGE)
-1
вам кажется, в проекте есть шаблон error.html который и будет загружен, про полную версию кода вы придумали сами, я такого не писал, я привел примеры ключевых файлов, в которых некоторые методы todo, чтоб показать общую тенденцию происходящего, Вы же во первых это не заметили, во вторых не прочитали поясняющий комментарий на свой первый вопрос. Вы не поняли о чем эта статья(что может быть как виной автора, так и виной читающего).
0
А можно я заберу это, чтоб на код ревью предлагать кандидатам во время собеседования?
+5
Публикация из разряда — я изучал MVC и сделал сам. Хоть и не джавист, но вижу, что в разработке опыта ещё немного. Есть склонность к усложнению, а не к упрощению
0
Я так понимаю, это статья начального уровня, тогда для вхождения не хватает ссылок на то, куда читать, чтоб это запустить на сервере и как этот сервер настроить, чтоб все работало. А еще хоть один скриншот того, что получилось снаружи…
0
Я бы вам вот эту книжку рекомендовал How Tomcat Works: A Guide to Developing Your Own Java Servlet Container . Наверняка можно ее где-то и в виде pdf найти.
+2
Насчет вашего синглтона HttpRequestSocket. Я правильно понимаю, что у вас предполагается одно соединение с одним клиентом на все время работы сервера?
+1
да, все так, предложение однопоточное, так как задача была показать жизненный цикл WEB-MVC сервиса, от запроса в браузере до странице в браузере, не вдаваясь в тонкости многопользовательского приложения, можно было из препроцессора дергать задачи в отдельном TaskExecutor, но. повторюсь, цель была другая.
0
Даже в рамках модельного примера одиночка ClientSocket смотрится очень странно. Вот одиночка (singleton) ServerSocket — совсем другое дело. И никакой многопоточности не нужно. Просто в бесконечном цикле вызываем accept(), дожидаемся запроса обрабатываем его и возвращаемся на ожидание. Это один из типовых способов работы с ServerSocket. Пример такого цикла можете глянуть у меня вот в этой статье habr.com/ru/post/441150
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Web MVC приложение без фреймворков и сервлетов