diff --git a/.gitignore b/.gitignore index a715be31d2b4dc958ae79c16e33e6c3b8260efcd..8aecc05cab8c458289ba97c271490ff49064858d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ target/ !.mvn/wrapper/maven-wrapper.jar !**/src/main/** !**/src/test/** +/docs/** ### STS ### .apt_generated diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java deleted file mode 100644 index a45eb6ba269cd38f8965cef786729790945d9537..0000000000000000000000000000000000000000 --- a/.mvn/wrapper/MavenWrapperDownloader.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2007-present the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import java.net.*; -import java.io.*; -import java.nio.channels.*; -import java.util.Properties; - -public class MavenWrapperDownloader { - - private static final String WRAPPER_VERSION = "0.5.6"; - /** - * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. - */ - private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" - + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; - - /** - * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to - * use instead of the default one. - */ - private static final String MAVEN_WRAPPER_PROPERTIES_PATH = - ".mvn/wrapper/maven-wrapper.properties"; - - /** - * Path where the maven-wrapper.jar will be saved to. - */ - private static final String MAVEN_WRAPPER_JAR_PATH = - ".mvn/wrapper/maven-wrapper.jar"; - - /** - * Name of the property which should be used to override the default download url for the wrapper. - */ - private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; - - public static void main(String args[]) { - System.out.println("- Downloader started"); - File baseDirectory = new File(args[0]); - System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); - - // If the maven-wrapper.properties exists, read it and check if it contains a custom - // wrapperUrl parameter. - File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); - String url = DEFAULT_DOWNLOAD_URL; - if (mavenWrapperPropertyFile.exists()) { - FileInputStream mavenWrapperPropertyFileInputStream = null; - try { - mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); - Properties mavenWrapperProperties = new Properties(); - mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); - url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); - } catch (IOException e) { - System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); - } finally { - try { - if (mavenWrapperPropertyFileInputStream != null) { - mavenWrapperPropertyFileInputStream.close(); - } - } catch (IOException e) { - // Ignore ... - } - } - } - System.out.println("- Downloading from: " + url); - - File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); - if (!outputFile.getParentFile().exists()) { - if (!outputFile.getParentFile().mkdirs()) { - System.out.println( - "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); - } - } - System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); - try { - downloadFileFromURL(url, outputFile); - System.out.println("Done"); - System.exit(0); - } catch (Throwable e) { - System.out.println("- Error downloading"); - e.printStackTrace(); - System.exit(1); - } - } - - private static void downloadFileFromURL(String urlString, File destination) throws Exception { - if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { - String username = System.getenv("MVNW_USERNAME"); - char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); - Authenticator.setDefault(new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication(username, password); - } - }); - } - URL website = new URL(urlString); - ReadableByteChannel rbc; - rbc = Channels.newChannel(website.openStream()); - FileOutputStream fos = new FileOutputStream(destination); - fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); - fos.close(); - rbc.close(); - } - -} diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar deleted file mode 100644 index 2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054..0000000000000000000000000000000000000000 Binary files a/.mvn/wrapper/maven-wrapper.jar and /dev/null differ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index 642d572ce90e5085986bdd9c9204b9404f028084..0000000000000000000000000000000000000000 --- a/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1,2 +0,0 @@ -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/pom.xml b/pom.xml index 0ac99439c176508c7fb664570576e6e3acbed718..62a660c970017ff77e0b74678a5d92a53689668d 100644 --- a/pom.xml +++ b/pom.xml @@ -36,10 +36,14 @@ org.springframework.boot spring-boot-starter-data-jpa - - - - + + + + + + org.springframework.boot + spring-boot-starter-freemarker + jstl jstl @@ -86,7 +90,39 @@ + + io.springfox + springfox-swagger2 + 2.9.2 + + + io.springfox + springfox-swagger-ui + 2.9.2 + + + io.github.swagger2markup + swagger2markup + 1.3.3 + + + + + + + + + + + true + always + + jcenter-releases + jcenter + https://jcenter.bintray.com + + diff --git a/src/main/java/com/lin/sppringbootdemo/Inteceptor/MyInteceptor1.java b/src/main/java/com/lin/sppringbootdemo/Inteceptor/MyInteceptor1.java index 789f3a034d4ad58a39158dc2254ca10fe0e96ed8..83f126725bce3b18edbc6c2b0153bcde88c7f5da 100644 --- a/src/main/java/com/lin/sppringbootdemo/Inteceptor/MyInteceptor1.java +++ b/src/main/java/com/lin/sppringbootdemo/Inteceptor/MyInteceptor1.java @@ -17,7 +17,7 @@ public class MyInteceptor1 implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { log.info("MyInteceptor1pre"); - return false; + return true; } @Override diff --git a/src/main/java/com/lin/sppringbootdemo/Inteceptor/MyInteceptor2.java b/src/main/java/com/lin/sppringbootdemo/Inteceptor/MyInteceptor2.java new file mode 100644 index 0000000000000000000000000000000000000000..285cbca3667e67d87c5606b3031936a70357f94c --- /dev/null +++ b/src/main/java/com/lin/sppringbootdemo/Inteceptor/MyInteceptor2.java @@ -0,0 +1,33 @@ +package com.lin.sppringbootdemo.Inteceptor; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.xml.ws.handler.Handler; + +@Component +public class MyInteceptor2 implements HandlerInterceptor { + Logger log = LoggerFactory.getLogger(MyInteceptor1.class); + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + log.info("MyInteceptor2pre"); + return true; + } + + @Override + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { + log.info("MyInteceptor2post"); + } + + + @Override + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { + log.info("MyInteceptor2after"); + } +} diff --git a/src/main/java/com/lin/sppringbootdemo/config/LimitConfig.java b/src/main/java/com/lin/sppringbootdemo/config/LimitConfig.java index 3fb2879dd2292818f1e3d51bb294aac778fbbb60..3eca8ec34e16bea2a6f78ce542fc69fededbc0b2 100644 --- a/src/main/java/com/lin/sppringbootdemo/config/LimitConfig.java +++ b/src/main/java/com/lin/sppringbootdemo/config/LimitConfig.java @@ -2,18 +2,16 @@ package com.lin.sppringbootdemo.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; @Component @ConfigurationProperties(prefix = "limit") +//@PropertySource @Data public class LimitConfig { int minMoney; int maxMOney; String description; - - - - } diff --git a/src/main/java/com/lin/sppringbootdemo/config/SwaggerConfig.java b/src/main/java/com/lin/sppringbootdemo/config/SwaggerConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..1e47d7359c2200bceb04f1169059089b63134f5f --- /dev/null +++ b/src/main/java/com/lin/sppringbootdemo/config/SwaggerConfig.java @@ -0,0 +1,44 @@ +package com.lin.sppringbootdemo.config; + + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Contact; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +@EnableSwagger2 +@Configuration +public class SwaggerConfig { + + + + @Bean + public Docket createRestApi() { + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + .select() + .apis(RequestHandlerSelectors.basePackage("com.lin.sppringbootdemo.controller")) + .paths(PathSelectors.any()) + .build(); + } + + + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("SpringbootDemoAPI文档") + .description("SpringbootDemoAPI文档") + .contact(new Contact("SpringbootDemoAPI文档", "http://www.baidu.com", "191580387@qq.com")) + .termsOfServiceUrl("http://www.baidu.com") + .version("1.0") + .build(); + + } + + +} diff --git a/src/main/java/com/lin/sppringbootdemo/config/WebMvcConfig.java b/src/main/java/com/lin/sppringbootdemo/config/WebMvcConfig.java index 489a99f92618145450dc316088ff10bc893982a5..db86caf3a1547588d3fddc65aa60032972aeca50 100644 --- a/src/main/java/com/lin/sppringbootdemo/config/WebMvcConfig.java +++ b/src/main/java/com/lin/sppringbootdemo/config/WebMvcConfig.java @@ -1,6 +1,7 @@ package com.lin.sppringbootdemo.config; import com.lin.sppringbootdemo.Inteceptor.MyInteceptor1; +import com.lin.sppringbootdemo.Inteceptor.MyInteceptor2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; @@ -12,8 +13,15 @@ public class WebMvcConfig implements WebMvcConfigurer { @Autowired private MyInteceptor1 myInteceptor1; + @Autowired + private MyInteceptor2 myInteceptor2; + @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(myInteceptor1).addPathPatterns("/*"); + registry.addInterceptor(myInteceptor2).addPathPatterns("/*"); } + + + } diff --git a/src/main/java/com/lin/sppringbootdemo/controller/GlobalErrorController.java b/src/main/java/com/lin/sppringbootdemo/controller/GlobalErrorController.java new file mode 100644 index 0000000000000000000000000000000000000000..394f7964b50f9a67c44e56d2ed29343af470c2df --- /dev/null +++ b/src/main/java/com/lin/sppringbootdemo/controller/GlobalErrorController.java @@ -0,0 +1,77 @@ +package com.lin.sppringbootdemo.controller; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.lin.sppringbootdemo.enums.ResultEnum; +import com.lin.sppringbootdemo.exception.TestLinException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.web.ServerProperties; +import org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController; +import org.springframework.boot.web.servlet.error.ErrorAttributes; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +@Slf4j +@Controller +@RequestMapping("/error") +public class GlobalErrorController extends BasicErrorController { + + @Autowired + public GlobalErrorController(ErrorAttributes errorAttributes, ServerProperties serverProperties) { + super(errorAttributes, serverProperties.getError()); + } + + + @RequestMapping(produces = "text/html") + @Override + public ModelAndView errorHtml(HttpServletRequest request, + HttpServletResponse response) { + + + return super.errorHtml(request, response); + } + + @RequestMapping + @ResponseBody + @Override + @SuppressWarnings("unchecked") + public ResponseEntity> error(HttpServletRequest request) { + Map body = super.getErrorAttributes(request, + isIncludeStackTrace(request, MediaType.ALL)); + + String message = body.get("message") != null ? (String) body.get("message") : null; + Integer statusCode = body.get("status") != null ? (Integer) body.get("status") : null; + + Object exception = body.get("exception"); + if (exception instanceof TestLinException) { + TestLinException bre = (TestLinException) exception; + statusCode = bre.getCode(); + } + + //加枚举 +// Wrapper wrap = WrapMapper.wrap(statusCode == 0 ? Wrapper.ERROR_CODE : statusCode, message); + ResultEnum resultEnum = (statusCode == 0 ? ResultEnum.UNKNOW_ERROE : ResultEnum.getEnumByCode(statusCode)); + Map res = null; + try { + ObjectMapper mapper = new ObjectMapper(); + String s = mapper.writeValueAsString(resultEnum); + res = mapper.readValue(s, Map.class); + } catch (Exception e) { + e.printStackTrace(); + } + + HttpStatus status = super.getStatus(request); + return new ResponseEntity>(res, status); + } + + +} diff --git a/src/main/java/com/lin/sppringbootdemo/controller/HelloController.java b/src/main/java/com/lin/sppringbootdemo/controller/HelloController.java index b9daddf397dc52bcdd7b1dfc0c1843d32cc63757..b4f2c7fd689c90f8bf6f4f7e76a508801722f27d 100644 --- a/src/main/java/com/lin/sppringbootdemo/controller/HelloController.java +++ b/src/main/java/com/lin/sppringbootdemo/controller/HelloController.java @@ -1,12 +1,16 @@ package com.lin.sppringbootdemo.controller; import com.lin.sppringbootdemo.config.LimitConfig; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; + +@Api("hello接口") @Slf4j @Controller public class HelloController { @@ -15,11 +19,23 @@ public class HelloController { LimitConfig limitConfig; - @GetMapping("/config") - public String HelloController(){ + @ApiOperation("thyhello") + @GetMapping("/thy/config") + public String thyController(ModelMap map){ +// return limitConfig.toString(); + map.put("host","asdfghjk"); + return "thymeleaf/index"; + } + + + @ApiOperation("ftlhello") + @GetMapping("/ftl/config") + public String ftlController(ModelMap map){ // return limitConfig.toString(); - return "index"; + map.put("host","asdfghjk"); + return "freemarker/index"; } + } diff --git a/src/main/java/com/lin/sppringbootdemo/controller/TestLinController.java b/src/main/java/com/lin/sppringbootdemo/controller/TestLinController.java index ddcfa9c4f3c918d63756838abf02fa43c71ab161..336490437159c61425badcf0ef348cc38b4207a4 100644 --- a/src/main/java/com/lin/sppringbootdemo/controller/TestLinController.java +++ b/src/main/java/com/lin/sppringbootdemo/controller/TestLinController.java @@ -7,16 +7,17 @@ import com.lin.sppringbootdemo.jpa.TestLinRepository; import com.lin.sppringbootdemo.mapper.TestLinMapper; import com.lin.sppringbootdemo.service.TestLinService; import com.lin.sppringbootdemo.util.ResultUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.Optional; +@Api("lin接口") @Slf4j @RestController public class TestLinController { @@ -28,21 +29,24 @@ public class TestLinController { @Autowired private TestLinService testLinService; - @RequestMapping("/user") + @ApiOperation("单个查询接口") + @GetMapping("/user") public ResultData index() { TestLin user = testLinMapper.selectByID(1); return ResultUtil.success(user); } - @RequestMapping("/one") + @ApiOperation("单个查接口") + @GetMapping("/one") public ResultData selectOne() { Optional one = testLinRepository.findById(1); TestLin testLin = one.orElse(null); return ResultUtil.success(testLin); } - @RequestMapping("/add") + @ApiOperation("增加接口") + @PostMapping("/add") public ResultData add(@Valid TestLin testLin, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultUtil.fail(bindingResult.getFieldError().getDefaultMessage()); @@ -52,7 +56,8 @@ public class TestLinController { return ResultUtil.success(save); } - @RequestMapping("/getage/{id}") + @ApiOperation("根据ID查询接口") + @GetMapping("/getage/{id}") public ResultData getAge(@PathVariable Integer id) throws Exception { // try { // testLinService.getAge(id); diff --git a/src/main/java/com/lin/sppringbootdemo/enums/ResultEnum.java b/src/main/java/com/lin/sppringbootdemo/enums/ResultEnum.java index b5d1c21a1c262cee1cdac2e77757f53d41a408e6..e681b10cb38981fed9a79a538b612b5e0371509c 100644 --- a/src/main/java/com/lin/sppringbootdemo/enums/ResultEnum.java +++ b/src/main/java/com/lin/sppringbootdemo/enums/ResultEnum.java @@ -21,4 +21,20 @@ public enum ResultEnum { this.code = code; this.msg = msg; } + + ResultEnum(ResultEnum resultEnum) { + this.code = resultEnum.getCode(); + this.msg = resultEnum.getMsg(); + } + + public static ResultEnum getEnumByCode(int code) { + for (ResultEnum resultEnum : ResultEnum.values()) { + if (resultEnum.getCode() == code) { + return resultEnum; + } + } + return null; + } + + } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 907006f55fba01193e309a73212258d24f4b7ff3..95f25897de7ba1eccb9b4cbb0e7ef26e7018c07f 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -5,6 +5,7 @@ spring: password: UATbwcrm123! driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource +# type: org.apache.commons.dbcp2.BasicDataSource jpa: show-sql: true hibernate: @@ -13,9 +14,19 @@ spring: mvc: view: prefix: "/" - suffix: ".html" + suffix: {".html",".jsp","ftl"} favicon: enable: true + thymeleaf: + cache: true + check-template-location: true + enabled: true + encoding: utf-8 + servlet: + content-type: text/html + mode: HTMl5 + prefix: classpath:/templates/ + suffix: .html limit: minMoney: 2 maxMoney: 100 diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index ecc76175302a35c87472d4f028282eb9bac6ec8b..3b82e422c628010528a57dede95997e55c09dd4d 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -1,11 +1,42 @@ spring: datasource: - url: jdbc:mysql://192.168.16.250:6606/bwcrm - username: uatbwcrm - password: UATbwcrm123! + url: jdbc:mysql://localhost:3306/bwcrm + username: root + password: 1234 +# url: jdbc:mysql://192.168.16.250:6606/bwcrm +# username: uatbwcrm +# password: UATbwcrm123! driver-class-name: com.mysql.jdbc.Driver - + type: com.alibaba.druid.pool.DruidDataSource + jpa: + show-sql: true + hibernate: + ddl-auto: none + open-in-view: true + mvc: + view: + prefix: "/" + suffix: {".html",".jsp",".ftl"} + favicon: + enable: true + freemarker: + template-loader-path: classpath:/templates/ + cache: false + charset: UTF-8 + check-template-location: true + content-type: text/html + request-context-attribute: request + expose-request-attributes: false + expose-session-attributes: false + suffix: .ftl limit: - minMoney: 1 - maxMoney: 10 - description: 最少${limit.minMoney},最多${limit.maxMoney} \ No newline at end of file + minMoney: 2 + maxMoney: 100 + description: 最少${limit.minMoney},最多${limit.maxMoney} +logging: + level: + root: info +server: + port: 8089 +mybatis: + mapper-locations: classpath:mappers/*Mapper.xml diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 3d7808a0c672513d472ab235d04d18e363fc8a87..9f96606843aad128715316a8a488e24ee7df661f 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,3 +1,3 @@ spring: profiles: - active: dev + active: prod diff --git a/src/main/resources/templates/freemarker/index.ftl b/src/main/resources/templates/freemarker/index.ftl new file mode 100644 index 0000000000000000000000000000000000000000..d46a38390726f0218335f4f4ad180e66d027fa09 --- /dev/null +++ b/src/main/resources/templates/freemarker/index.ftl @@ -0,0 +1,11 @@ + + + + + + + +FreeMarker模板引擎 +${host} + + \ No newline at end of file diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/thymeleaf/index.html similarity index 45% rename from src/main/resources/templates/index.html rename to src/main/resources/templates/thymeleaf/index.html index 46fc82ed1a4219a9f8fd98d309a68a4b3e35760c..b473189de27d4acc1a041d945d5cba0e1afcc5ac 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/thymeleaf/index.html @@ -1,10 +1,10 @@ - - + + Title -fghjkl +你好 \ No newline at end of file diff --git a/src/main/webapp/layuiNetCompany-v1.1.0/html/index.html b/src/main/webapp/layuiNetCompany-v1.1.0/html/index.html deleted file mode 100644 index e3ad19c0458898d1c0075afbc97036d1480b6a94..0000000000000000000000000000000000000000 --- a/src/main/webapp/layuiNetCompany-v1.1.0/html/index.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - 网络公司-首页 - - - - - - - - - - - - - - - - - - - 产品 - 动态 - 案例 - 关于 - 模板 - - - - - - - - - - - - 网络公司 - 完美前端体验 - - - - - - 网络公司 - 完美前端体验 - - - - - - - - - 专为前端而研制的核心产品 - - - - - - JS基础库 - 从小屏逐步扩展到大屏,最终实现所有屏幕适配,适应移动互联潮流。 - - 查看产品 > - - - - - - - CSS处理 - 从小屏逐步扩展到大屏,最终实现所有屏幕适配,适应移动互联潮流。 - - 查看产品 > - - - - - - - 兼容性 - 从小屏逐步扩展到大屏,最终实现所有屏幕适配,适应移动互联潮流。 - - 查看产品 > - - - - - - - 响应式 - 从小屏逐步扩展到大屏,最终实现所有屏幕适配,适应移动互联潮流。 - - 查看产品 > - - - - - - - - 为客户打造完美的专业服务 - - - - - - 1 对 1 前端指导 - - 更有多个包含不同主题的Web组件,可快速构建界面出色、体验优秀的跨屏页面,大幅提升开发效率。 - - - - - - - - 1 对 1 前端指导 - - 更有多个包含不同主题的Web组件,可快速构建界面出色、体验优秀的跨屏页面,大幅提升开发效率。 - - - - - - - - 1 对 1 前端指导 - - 更有多个包含不同主题的Web组件,可快速构建界面出色、体验优秀的跨屏页面,大幅提升开发效率。 - - - - - - - - 1 对 1 前端指导 - - 更有多个包含不同主题的Web组件,可快速构建界面出色、体验优秀的跨屏页面,大幅提升开发效率。 - - - - - 查看更多 - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/layuiNetCompany-v1.1.0/html/about.html b/src/main/webapp/layuiNetCompany/html/about.html similarity index 100% rename from src/main/webapp/layuiNetCompany-v1.1.0/html/about.html rename to src/main/webapp/layuiNetCompany/html/about.html diff --git a/src/main/webapp/layuiNetCompany-v1.1.0/html/case.html b/src/main/webapp/layuiNetCompany/html/case.html similarity index 97% rename from src/main/webapp/layuiNetCompany-v1.1.0/html/case.html rename to src/main/webapp/layuiNetCompany/html/case.html index 3efdc5557dafa18bec50da2a49c689741523a543..fe67a5b62def41d81a7adc6dd5d86ef47cfdf640 100644 --- a/src/main/webapp/layuiNetCompany-v1.1.0/html/case.html +++ b/src/main/webapp/layuiNetCompany/html/case.html @@ -127,8 +127,8 @@
网络公司
完美前端体验
专为前端而研制的核心产品
JS基础库
从小屏逐步扩展到大屏,最终实现所有屏幕适配,适应移动互联潮流。
CSS处理
兼容性
响应式
为客户打造完美的专业服务
1 对 1 前端指导
更有多个包含不同主题的Web组件,可快速构建界面出色、体验优秀的跨屏页面,大幅提升开发效率。