Size: a a a

2020 June 08

IK

Ivan Korotkii in pro.jvm
всем привет - столкнулся со сложностью при настройке mvc в spring
прописал такой веб контроллер
@Controller
@RequestMapping("/")
public class AdminController {
   @Autowired
   private UserService userService;
   @RequestMapping(value = "users", method = RequestMethod.GET)
   public String getCarsTable(ModelMap model) {
       List<User> users = userService.getUsers();
       model.addAttribute("users", users);
       return "admin";
   }
}
такой веб конфигуратор
@Configuration
@EnableWebMvc
@ComponentScan("org")
public class WebConfig implements WebMvcConfigurer {
   @Override
   public void addResourceHandlers(ResourceHandlerRegistry registry) {
       registry.addResourceHandler("/WEB-INF/pages/**").addResourceLocations("/pages/");
   }
   @Bean
   public InternalResourceViewResolver setupViewResolver() {
       InternalResourceViewResolver resolver = new InternalResourceViewResolver();
       resolver.setPrefix("/WEB-INF/pages/");
       resolver.setSuffix(".jsp");
       resolver.setViewClass(JstlView.class);
       return resolver;
   }
}
и вот такой диспечер сервлетов
public class AppInit extends AbstractAnnotationConfigDispatcherServletInitializer {
   // Метод, указывающий на класс конфигурации
   @Override
   protected Class<?>[] getRootConfigClasses() {
       return new Class<?>[]{
               WebConfig.class
       };
   }
   // Добавление конфигурации, в которой инициализируем ViewResolver, для корректного отображения jsp.
   @Override
   protected Class<?>[] getServletConfigClasses() {
       return new Class<?>[]{
               WebConfig.class
       };
   }
   /* Данный метод указывает url, на котором будет базироваться приложение */
   @Override
   protected String[] getServletMappings() {
       return new String[]{"/"};
   }
}
через идею запускаю с помощи run (локальный tomcat)
все ок, но при вводе в веб браузере /users страница не подгружается пишет ошибку 404
подскажите, что не так?
вот такая проблема
источник

A

Artjom Kalita in pro.jvm
источник

IK

Ivan Korotkii in pro.jvm
лол если честно
у меня maven это раз и два - сложности скорее с idea
я это запустить не могу, а ты мне на gradle предлагаешь мигрировать
источник

A

Artjom Kalita in pro.jvm
С чего ты взял что я тебе что-то предлогаю?
источник

IK

Ivan Korotkii in pro.jvm
я подумал, что ты мне эту ссылку даешь
источник

A

Anton in pro.jvm
Ку
Томкат поддерживает проджект реактор? Из того что я слышал только джетти поддерживал
источник

A

Anton in pro.jvm
@bsideup куда ты ушел из рп :(
источник

SE

Sergei Egorov in pro.jvm
Anton
@bsideup куда ты ушел из рп :(
ну, Разбор Полётов ушёл из чатика рп, вот и я ушёл заодно. Это уже не старый добрый РП, это флудилья плюс "а у вас ещё хуже!" - зачем в таком находиться?
источник

D

Dima in pro.jvm
Denis Pavlyuchenko
не уверен про продакшн реди, но, кажется, их всего 3:
1) https://github.com/eclipse-vertx/vertx-sql-client
2) https://github.com/r2dbc/r2dbc-postgresql
3) https://github.com/jasync-sql/jasync-sql
1 точно продакшен рэди и по тестам 1 место занимает
источник

D

Dima in pro.jvm
но с r2dbc код будет сильно приятнее
источник

DP

Denis Pavlyuchenko in pro.jvm
Dima
1 точно продакшен рэди и по тестам 1 место занимает
тесты - это https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=db , или что-то менее синтетическое?)
источник

MB

Mikhail Bobrutskov in pro.jvm
Denis Pavlyuchenko
тесты - это https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=db , или что-то менее синтетическое?)
что значит менее синтетическое? с базой там вполне жизненный пример: сходить в базу, получить данные и срендерить json
источник

D

Dima in pro.jvm
Denis Pavlyuchenko
тесты - это https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=db , или что-то менее синтетическое?)
да, эти тесты
источник

D

Dima in pro.jvm
Dima
но с r2dbc код будет сильно приятнее
эта штука с реактором работает
источник

D

Dima in pro.jvm
а у реактора есть реактивный контекст, что апи ваше сильно упростит
источник

DP

Denis Pavlyuchenko in pro.jvm
Mikhail Bobrutskov
что значит менее синтетическое? с базой там вполне жизненный пример: сходить в базу, получить данные и срендерить json
там же в тестах нет транзакций? или есть?
Я к тому, что транзакции не позволят переиспользовать один коннект к БД
источник

MB

Mikhail Bobrutskov in pro.jvm
Denis Pavlyuchenko
там же в тестах нет транзакций? или есть?
Я к тому, что транзакции не позволят переиспользовать один коннект к БД
я наверно плохо понимаю транзакции, но почему нельзя выполнить несколько в одном коннекте?
источник

MB

Mikhail Bobrutskov in pro.jvm
транзакций вроде не было в этом бенчмарке
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in pro.jvm
Mikhail Bobrutskov
транзакций вроде не было в этом бенчмарке
Это сильно повлияет на результаты
источник

DP

Denis Pavlyuchenko in pro.jvm
Mikhail Bobrutskov
я наверно плохо понимаю транзакции, но почему нельзя выполнить несколько в одном коннекте?
транзакции требуют какой-то стейт, что заставляет их прибивать к коннекту. В результате, условный r2dbc рабоатет хорошо для запросов, когда мы можем шарить коннект (так как через один коннект к PG у нас шлется несколько запросов), но все становится не так радужно, если у нас поялвются транзакции, и нам уже надо колилчество коннектов по количеству активных транзакций (а в PG мы не хотим иметь миллион коннектов, из-за 1 коннект = 1 процесс).

Но может быть я что-то упускаю, и буду рад, если меня поправят
источник