initial commits
This commit is contained in:
parent
c13414d860
commit
5205261a49
31
.gitignore
vendored
Normal file
31
.gitignore
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# ---> Java
|
||||||
|
# Compiled class file
|
||||||
|
*.class
|
||||||
|
.idea
|
||||||
|
.idea/*
|
||||||
|
.gradle
|
||||||
|
out
|
||||||
|
build
|
||||||
|
|
||||||
|
# Log file
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# BlueJ files
|
||||||
|
*.ctxt
|
||||||
|
|
||||||
|
# Mobile Tools for Java (J2ME)
|
||||||
|
.mtj.tmp/
|
||||||
|
|
||||||
|
# Package Files #
|
||||||
|
*.jar
|
||||||
|
*.war
|
||||||
|
*.nar
|
||||||
|
*.ear
|
||||||
|
*.zip
|
||||||
|
*.tar.gz
|
||||||
|
*.rar
|
||||||
|
|
||||||
|
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||||
|
hs_err_pid*
|
||||||
|
replay_pid*
|
||||||
|
|
43
build.gradle
Normal file
43
build.gradle
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
plugins {
|
||||||
|
id 'java'
|
||||||
|
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
|
||||||
|
id 'org.springframework.boot' version '2.6.4'
|
||||||
|
}
|
||||||
|
|
||||||
|
jar {
|
||||||
|
archivesBaseName = 'example-web'
|
||||||
|
}
|
||||||
|
|
||||||
|
group 'ru.ulstu'
|
||||||
|
version '1.0-SNAPSHOT'
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
maven {
|
||||||
|
url "http://repo.athene.tech/repository/maven-central/"
|
||||||
|
allowInsecureProtocol(true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
ext {
|
||||||
|
versionSLF4J = '1.7.24'
|
||||||
|
versionJetty = '9.3.16.v20170120'
|
||||||
|
versionJackson = '2.9.4'
|
||||||
|
versionSwagger = '2.5.0'
|
||||||
|
}
|
||||||
|
|
||||||
|
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web'
|
||||||
|
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-jetty'
|
||||||
|
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf'
|
||||||
|
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation'
|
||||||
|
implementation group: 'org.slf4j', name: 'slf4j-api', version: versionSLF4J
|
||||||
|
implementation group: 'nz.net.ultraq.thymeleaf', name: 'thymeleaf-layout-dialect', version: '3.1.0'
|
||||||
|
|
||||||
|
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
|
||||||
|
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
|
||||||
|
testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test'
|
||||||
|
}
|
||||||
|
|
||||||
|
test {
|
||||||
|
useJUnitPlatform()
|
||||||
|
}
|
6
gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
6
gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#Mon Dec 28 10:00:20 PST 2015
|
||||||
|
distributionBase=GRADLE_USER_HOME
|
||||||
|
distributionPath=wrapper/dists
|
||||||
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
zipStorePath=wrapper/dists
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
|
13
src/main/java/ru/ulstu/ExampleWebApplication.java
Normal file
13
src/main/java/ru/ulstu/ExampleWebApplication.java
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package ru.ulstu;
|
||||||
|
|
||||||
|
import org.springframework.boot.SpringApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
|
|
||||||
|
@SpringBootApplication
|
||||||
|
@EnableConfigurationProperties
|
||||||
|
public class ExampleWebApplication {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
SpringApplication.run(ExampleWebApplication.class, args);
|
||||||
|
}
|
||||||
|
}
|
49
src/main/java/ru/ulstu/configuration/MvcConfiguration.java
Normal file
49
src/main/java/ru/ulstu/configuration/MvcConfiguration.java
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
package ru.ulstu.configuration;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.web.servlet.LocaleResolver;
|
||||||
|
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
||||||
|
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
||||||
|
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
|
||||||
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
|
import org.springframework.web.servlet.i18n.CookieLocaleResolver;
|
||||||
|
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class MvcConfiguration implements WebMvcConfigurer {
|
||||||
|
@Override
|
||||||
|
public void addViewControllers(ViewControllerRegistry registry) {
|
||||||
|
registry.addViewController("/login");
|
||||||
|
registry.addViewController("/loginError");
|
||||||
|
registry.addViewController("/index");
|
||||||
|
registry.addViewController("/admin");
|
||||||
|
registry.addViewController("/organizers");
|
||||||
|
registry.addViewController("/docs");
|
||||||
|
registry.addViewController("/editNews");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
||||||
|
registry
|
||||||
|
.addResourceHandler("/webjars/**")
|
||||||
|
.addResourceLocations("/webjars/");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public LocaleResolver localeResolver() {
|
||||||
|
return new CookieLocaleResolver();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public LocaleChangeInterceptor localeInterceptor() {
|
||||||
|
LocaleChangeInterceptor localeInterceptor = new LocaleChangeInterceptor();
|
||||||
|
localeInterceptor.setParamName("lang");
|
||||||
|
return localeInterceptor;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addInterceptors(InterceptorRegistry registry) {
|
||||||
|
registry.addInterceptor(localeInterceptor());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
package ru.ulstu.configuration;
|
||||||
|
|
||||||
|
import nz.net.ultraq.thymeleaf.layoutdialect.LayoutDialect;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.thymeleaf.spring5.SpringTemplateEngine;
|
||||||
|
import org.thymeleaf.templateresolver.ITemplateResolver;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class TemplateConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public SpringTemplateEngine templateEngine(ITemplateResolver templateResolver) {
|
||||||
|
final SpringTemplateEngine templateEngine = new SpringTemplateEngine();
|
||||||
|
templateEngine.addTemplateResolver(templateResolver);
|
||||||
|
templateEngine.addDialect(new LayoutDialect());
|
||||||
|
return templateEngine;
|
||||||
|
}
|
||||||
|
}
|
14
src/main/java/ru/ulstu/controller/IndexController.java
Normal file
14
src/main/java/ru/ulstu/controller/IndexController.java
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
package ru.ulstu.controller;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.Model;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
public class IndexController {
|
||||||
|
|
||||||
|
@GetMapping("/")
|
||||||
|
public String index(Model model) {
|
||||||
|
return "index";
|
||||||
|
}
|
||||||
|
}
|
2
src/main/resources/application.properties
Normal file
2
src/main/resources/application.properties
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
spring.main.banner-mode=off
|
||||||
|
server.port=8080
|
17
src/main/resources/templates/default.html
Normal file
17
src/main/resources/templates/default.html
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru"
|
||||||
|
xmlns:th="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8"/>
|
||||||
|
<title th:text="#{messages.app-name}">app-name</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="body-container">
|
||||||
|
Стартовая страница
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
13
src/main/resources/templates/error/403.html
Normal file
13
src/main/resources/templates/error/403.html
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en"
|
||||||
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
|
layout:decorate="~{default}">
|
||||||
|
<head>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container" layout:fragment="content">
|
||||||
|
<h5>Доступ запрещён</h5>
|
||||||
|
<a href="/"><h6>Вернуться на главную</h6></a>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
13
src/main/resources/templates/error/404.html
Normal file
13
src/main/resources/templates/error/404.html
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en"
|
||||||
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
|
layout:decorate="~{default}">
|
||||||
|
<head>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container" layout:fragment="content">
|
||||||
|
<h5>Страница не найдена</h5>
|
||||||
|
<a href="/"><h6>Вернуться на главную</h6></a>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
13
src/main/resources/templates/error/500.html
Normal file
13
src/main/resources/templates/error/500.html
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en"
|
||||||
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
|
layout:decorate="~{default}">
|
||||||
|
<head>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container" layout:fragment="content">
|
||||||
|
<h5>Ошибка сервера</h5>
|
||||||
|
<a href="/"><h6>Вернуться на главную</h6></a>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
7
src/main/resources/templates/index.html
Normal file
7
src/main/resources/templates/index.html
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd">
|
||||||
|
<html xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
|
layout:decorate="~{default}">
|
||||||
|
<div class="container" layout:fragment="content">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user