HTTP Status 404 The origin server did not find a current representation for the target resource or is not willing to disclose that one exists
приложение - голый backend. любые запросы выкидывают ошибку 404. в дэбагере запросы не доходят до контролеров.
файл конфигурации
@Configuration
@ComponentScan(basePackages = "org.example")
@EnableWebMvc
@EnableJpaRepositories(basePackages = "org.example")
@PropertySource("classpath:db.properties")
public class AppConfig {
@Autowired
private Environment env;
private final ApplicationContext applicationContext;
@Autowired
public AppConfig(ApplicationContext applicationContext) {
this.applicationContext = applicationContext;
}
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(dataSource());
em.setPackagesToScan( "org.example" );
em.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
em.setJpaProperties(hibernateProperties());
return em;
}
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName( Objects.requireNonNull( env.getProperty( "dataSourceClassName" ) ) );
if (Arrays.asList(env.getActiveProfiles()).contains("test")) {
dataSource.setUrl(env.getProperty("dataSource.url"));
} else {
dataSource.setUrl("jdbc:postgresql://" + env.getProperty("dataSource.serverName") +
":" + env.getProperty("dataSource.portNumber") +
"/" + env.getProperty("dataSource.databaseName"));
}
dataSource.setUsername(env.getProperty("dataSource.user"));
dataSource.setPassword(env.getProperty("dataSource.password"));
return dataSource;
}
@Bean
public JpaTransactionManager transactionManager() {
JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
return transactionManager;
}
private Properties hibernateProperties() {
Properties properties = new Properties();
properties.put("hibernate.hbm2ddl.auto", "update");
String activeProfile = Arrays.asList(env.getActiveProfiles()).contains("test") ?
"org.hibernate.dialect.H2Dialect" : "org.hibernate.dialect.PostgreSQLDialect";
properties.put("hibernate.dialect", activeProfile);
properties.put("hibernate.id.new_generator_mappings", "true");
return properties;
}
}
класс SpringMvcDispatcherSerlvet
public class MySpringMvcDispatcherSerlvetIntitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{AppConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
контроллер
@RestController
@RequestMapping("/student")
public class StudentController extends HttpServlet {
private final StudentService service;
public StudentController(StudentService service) {
this.service = service;
}
@PostMapping("/{surname})")
public ResponseEntity<StudentDTO> doPost(@PathVariable String surname) throws ServletException, IOException {
if (StringUtils.isBlank(surname)) {
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
} else {
try {
StudentDTO studentDTO = new StudentDTO();
studentDTO.setSurname(surname);
boolean added = service.saveNewStudent(studentDTO);
if (added) {
return new ResponseEntity<>(HttpStatus.OK);
} else {
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
}
} catch (SQLException e) {
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
} catch (RuntimeException e) {
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
}
}
}
// остальные контроллеры
}
логи запуска сервера
5-Nov-2023 02:55:04.831 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/10.1.15
05-Nov-2023 02:55:04.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Oct 11 2023 23:38:40 UTC
05-Nov-2023 02:55:04.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 10.1.15.0
05-Nov-2023 02:55:04.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows 11
05-Nov-2023 02:55:04.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Версия ОС: 10.0
05-Nov-2023 02:55:04.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Архитектура: amd64
05-Nov-2023 02:55:04.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: C:\Users\marmu\.jdks\corretto-17.0.6
05-Nov-2023 02:55:04.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Версия JVM: 17.0.6+10-LTS
05-Nov-2023 02:55:04.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Производитель JVM: Amazon.com Inc.
05-Nov-2023 02:55:04.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\marmu\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\b1ebf6b7-c2ff-482d-9b76-8e6b8a766c2b
05-Nov-2023 02:55:04.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\devtools\apache-tomcat-10.1.15
05-Nov-2023 02:55:04.835 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Users\marmu\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\b1ebf6b7-c2ff-482d-9b76-8e6b8a766c2b\conf\logging.properties
05-Nov-2023 02:55:04.835 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
05-Nov-2023 02:55:04.835 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote=
05-Nov-2023 02:55:04.835 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099
05-Nov-2023 02:55:04.835 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false
05-Nov-2023 02:55:04.835 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.password.file=C:\Users\marmu\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\b1ebf6b7-c2ff-482d-9b76-8e6b8a766c2b\jmxremote.password
05-Nov-2023 02:55:04.835 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.access.file=C:\Users\marmu\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\b1ebf6b7-c2ff-482d-9b76-8e6b8a766c2b\jmxremote.access
05-Nov-2023 02:55:04.835 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1
05-Nov-2023 02:55:04.836 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
05-Nov-2023 02:55:04.836 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
05-Nov-2023 02:55:04.836 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
05-Nov-2023 02:55:04.836 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
05-Nov-2023 02:55:04.836 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util=ALL-UNNAMED
05-Nov-2023 02:55:04.836 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
05-Nov-2023 02:55:04.836 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
05-Nov-2023 02:55:04.836 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Users\marmu\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\b1ebf6b7-c2ff-482d-9b76-8e6b8a766c2b
05-Nov-2023 02:55:04.836 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\devtools\apache-tomcat-10.1.15
05-Nov-2023 02:55:04.836 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\devtools\apache-tomcat-10.1.15\temp
05-Nov-2023 02:55:04.839 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path: [C:\Users\marmu\.jdks\corretto-17.0.6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\Docker\Docker\resources\bin;C:\devtools\maven\bin;C:\Users\marmu\AppData\Local\Microsoft\WindowsApps;C:\Program Files\JetBrains\IntelliJ IDEA 2023.1\bin;;C:\Users\marmu\AppData\Local\GitHubDesktop\bin;.]
05-Nov-2023 02:55:04.966 INFO [main] org.apache.coyote.AbstractProtocol.init �нициализация ProtocolHandler ["http-nio-8080"]
05-Nov-2023 02:55:04.983 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [263] milliseconds
05-Nov-2023 02:55:05.033 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
05-Nov-2023 02:55:05.033 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.1.15]
05-Nov-2023 02:55:05.046 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
05-Nov-2023 02:55:05.113 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [129] milliseconds
Connected to server
[2023-11-05 02:55:05,522] Artifact NewAPI:war exploded: Artifact is being deployed, please wait...
05-Nov-2023 02:55:06.845 INFO [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
[2023-11-05 02:55:10,013] Artifact NewAPI:war exploded: Artifact is deployed successfully
[2023-11-05 02:55:10,013] Artifact NewAPI:war exploded: Deploy took 4,491 milliseconds
05-Nov-2023 02:55:15.064 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory Установка веб приложения в папку [C:\devtools\apache-tomcat-10.1.15\webapps\manager]
05-Nov-2023 02:55:15.118 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\devtools\apache-tomcat-10.1.15\webapps\manager] has finished in [54] ms
все банальные варианты решения уже перепробовала.


