├── Dockerfile ├── pom.xml ├── src ├── main │ ├── java │ │ └── com │ │ │ └── njonecompany │ │ │ └── web │ │ │ ├── WebInitializer.java │ │ │ ├── config │ │ │ └── SpringConfig.java │ │ │ └── controller │ │ │ └── WelcomeController.java │ ├── resources │ │ └── logback.xml │ └── webapp │ │ └── WEB-INF │ │ ├── views │ │ └── index.jsp │ │ └── web.xml └── test │ └── java │ └── com │ └── njonecompany │ └── web │ └── TestWelcome.java └── target ├── classes ├── com │ └── njonecompany │ │ └── web │ │ ├── WebInitializer.class │ │ ├── config │ │ └── SpringConfig.class │ │ └── controller │ │ └── WelcomeController.class └── logback.xml ├── hello-world.war ├── hello-world └── WEB-INF │ ├── classes │ ├── com │ │ └── njonecompany │ │ │ └── web │ │ │ ├── WebInitializer.class │ │ │ ├── config │ │ │ └── SpringConfig.class │ │ │ └── controller │ │ │ └── WelcomeController.class │ └── logback.xml │ ├── lib │ ├── javax.servlet-api-3.1.0.jar │ ├── javax.servlet.jsp-api-2.3.1.jar │ ├── jstl-1.2.jar │ ├── logback-classic-1.2.3.jar │ ├── logback-core-1.2.3.jar │ ├── slf4j-api-1.7.25.jar │ ├── spring-aop-5.3.17.jar │ ├── spring-beans-5.3.17.jar │ ├── spring-context-5.3.17.jar │ ├── spring-core-5.3.17.jar │ ├── spring-expression-5.3.17.jar │ ├── spring-jcl-5.3.17.jar │ ├── spring-test-5.3.17.jar │ ├── spring-web-5.3.17.jar │ └── spring-webmvc-5.3.17.jar │ ├── views │ └── index.jsp │ └── web.xml ├── maven-archiver └── pom.properties ├── maven-status └── maven-compiler-plugin │ ├── compile │ └── default-compile │ │ ├── createdFiles.lst │ │ └── inputFiles.lst │ └── testCompile │ └── default-testCompile │ ├── createdFiles.lst │ └── inputFiles.lst ├── sonar ├── .sonar_lock └── report-task.txt └── test-classes └── com └── njonecompany └── web └── TestWelcome.class /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM tomcat:9.0 2 | 3 | LABEL org.opencontainers.image.authors="edowon0623@gmail.com" 4 | 5 | COPY ./hello-world.war /usr/local/tomcat/webapps/ 6 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 5 | 4.0.0 6 | com.njonecompany.web 7 | web 8 | war 9 | 1.0 10 | cicd-web-project maven webapp 11 | http://maven.apache.org 12 | 13 | 14 | UTF-8 15 | 1.8 16 | 1.8 17 | 5.3.17 18 | 19 | 20 | 21 | 22 | 23 | org.springframework 24 | spring-webmvc 25 | ${spring.version} 26 | 27 | 28 | 29 | org.springframework 30 | spring-test 31 | ${spring.version} 32 | 33 | 34 | 35 | 36 | ch.qos.logback 37 | logback-classic 38 | 1.2.3 39 | 40 | 41 | 42 | 43 | org.junit.jupiter 44 | junit-jupiter-engine 45 | 5.3.1 46 | test 47 | 48 | 49 | 50 | 51 | org.hamcrest 52 | hamcrest-library 53 | 1.3 54 | test 55 | 56 | 57 | 58 | 59 | javax.servlet 60 | javax.servlet-api 61 | 3.1.0 62 | 63 | 64 | 65 | 66 | javax.servlet 67 | jstl 68 | 1.2 69 | 70 | 71 | 72 | javax.servlet.jsp 73 | javax.servlet.jsp-api 74 | 2.3.1 75 | 76 | 77 | 78 | 79 | hello-world 80 | 81 | 82 | 83 | org.eclipse.jetty 84 | jetty-maven-plugin 85 | 9.4.12.v20180830 86 | 87 | 88 | 89 | 90 | org.apache.maven.plugins 91 | maven-surefire-plugin 92 | 2.22.0 93 | 94 | 95 | 96 | 97 | org.apache.maven.plugins 98 | maven-war-plugin 99 | 3.2.2 100 | 101 | 102 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /src/main/java/com/njonecompany/web/WebInitializer.java: -------------------------------------------------------------------------------- 1 | package com.njonecompany.web; 2 | 3 | import com.njonecompany.web.config.SpringConfig; 4 | import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; 5 | 6 | public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { 7 | 8 | @Override 9 | protected Class[] getRootConfigClasses() { 10 | return null; 11 | } 12 | 13 | @Override 14 | protected Class[] getServletConfigClasses() { 15 | return new Class[]{SpringConfig.class}; 16 | } 17 | 18 | @Override 19 | protected String[] getServletMappings() { 20 | return new String[]{"/"}; 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /src/main/java/com/njonecompany/web/config/SpringConfig.java: -------------------------------------------------------------------------------- 1 | package com.njonecompany.web.config; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.ComponentScan; 5 | import org.springframework.context.annotation.Configuration; 6 | import org.springframework.web.servlet.config.annotation.EnableWebMvc; 7 | import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; 8 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 9 | import org.springframework.web.servlet.view.InternalResourceViewResolver; 10 | import org.springframework.web.servlet.view.JstlView; 11 | 12 | @EnableWebMvc 13 | @Configuration 14 | @ComponentScan({"com.njonecompany.web"}) 15 | public class SpringConfig implements WebMvcConfigurer { 16 | 17 | @Override 18 | public void addResourceHandlers(ResourceHandlerRegistry registry) { 19 | registry.addResourceHandler("/resources/**") 20 | .addResourceLocations("/resources/"); 21 | } 22 | 23 | @Bean 24 | public InternalResourceViewResolver viewResolver() { 25 | InternalResourceViewResolver viewResolver 26 | = new InternalResourceViewResolver(); 27 | viewResolver.setViewClass(JstlView.class); 28 | viewResolver.setPrefix("/WEB-INF/views/"); 29 | viewResolver.setSuffix(".jsp"); 30 | return viewResolver; 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/java/com/njonecompany/web/controller/WelcomeController.java: -------------------------------------------------------------------------------- 1 | package com.njonecompany.web.controller; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | import org.springframework.stereotype.Controller; 6 | import org.springframework.ui.Model; 7 | import org.springframework.web.bind.annotation.GetMapping; 8 | 9 | import java.util.Date; 10 | 11 | @Controller 12 | public class WelcomeController { 13 | 14 | private final Logger logger = LoggerFactory.getLogger(WelcomeController.class); 15 | 16 | @GetMapping("/") 17 | public String index(Model model) { 18 | logger.debug("Welcome to njonecompany.com..."); 19 | 20 | model.addAttribute("msg", getMessage()); 21 | model.addAttribute("today", new Date()); 22 | System.out.println(model.getAttribute("today")); 23 | return "index"; 24 | 25 | } 26 | 27 | private String getMessage() { 28 | return "Hi, there"; 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/views/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page isELIgnored="false" %> 2 | <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> 3 | 4 | 5 |

It's working on Tomcat server(9.0.104)

6 |
7 |

${msg}

8 |

Hi, there (updated by dowon)

9 |

Today is

10 |

Version: 3.2.5

11 |

과정: LGCNS AM Inspire 1기

12 | 13 | 14 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | Archetype Created Web Application 7 | 8 | -------------------------------------------------------------------------------- /src/test/java/com/njonecompany/web/TestWelcome.java: -------------------------------------------------------------------------------- 1 | package com.njonecompany.web; 2 | 3 | import com.njonecompany.web.config.SpringConfig; 4 | import org.junit.jupiter.api.BeforeEach; 5 | import org.junit.jupiter.api.Test; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.test.context.junit.jupiter.web.SpringJUnitWebConfig; 8 | import org.springframework.test.web.servlet.MockMvc; 9 | import org.springframework.test.web.servlet.setup.MockMvcBuilders; 10 | import org.springframework.web.context.WebApplicationContext; 11 | 12 | import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; 13 | import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; 14 | import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; 15 | 16 | @SpringJUnitWebConfig(SpringConfig.class) 17 | public class TestWelcome { 18 | 19 | private MockMvc mockMvc; 20 | 21 | @Autowired 22 | private WebApplicationContext webAppContext; 23 | 24 | @BeforeEach 25 | public void setup() { 26 | mockMvc = MockMvcBuilders.webAppContextSetup(webAppContext).build(); 27 | } 28 | 29 | @Test 30 | public void testWelcome() throws Exception { 31 | 32 | this.mockMvc.perform( 33 | get("/")) 34 | .andDo(print()) 35 | .andExpect(status().isOk()) 36 | .andExpect(view().name("index")) 37 | .andExpect(forwardedUrl("/WEB-INF/views/index.jsp")) 38 | .andExpect(model().attribute("msg", "Hi, there")); 39 | } 40 | 41 | } -------------------------------------------------------------------------------- /target/classes/com/njonecompany/web/WebInitializer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/classes/com/njonecompany/web/WebInitializer.class -------------------------------------------------------------------------------- /target/classes/com/njonecompany/web/config/SpringConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/classes/com/njonecompany/web/config/SpringConfig.class -------------------------------------------------------------------------------- /target/classes/com/njonecompany/web/controller/WelcomeController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/classes/com/njonecompany/web/controller/WelcomeController.class -------------------------------------------------------------------------------- /target/classes/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /target/hello-world.war: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world.war -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/classes/com/njonecompany/web/WebInitializer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/classes/com/njonecompany/web/WebInitializer.class -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/classes/com/njonecompany/web/config/SpringConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/classes/com/njonecompany/web/config/SpringConfig.class -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/classes/com/njonecompany/web/controller/WelcomeController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/classes/com/njonecompany/web/controller/WelcomeController.class -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/classes/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/javax.servlet-api-3.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/javax.servlet-api-3.1.0.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/javax.servlet.jsp-api-2.3.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/javax.servlet.jsp-api-2.3.1.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/jstl-1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/jstl-1.2.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/logback-classic-1.2.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/logback-classic-1.2.3.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/logback-core-1.2.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/logback-core-1.2.3.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/slf4j-api-1.7.25.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/slf4j-api-1.7.25.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/spring-aop-5.3.17.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/spring-aop-5.3.17.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/spring-beans-5.3.17.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/spring-beans-5.3.17.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/spring-context-5.3.17.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/spring-context-5.3.17.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/spring-core-5.3.17.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/spring-core-5.3.17.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/spring-expression-5.3.17.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/spring-expression-5.3.17.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/spring-jcl-5.3.17.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/spring-jcl-5.3.17.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/spring-test-5.3.17.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/spring-test-5.3.17.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/spring-web-5.3.17.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/spring-web-5.3.17.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/lib/spring-webmvc-5.3.17.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/hello-world/WEB-INF/lib/spring-webmvc-5.3.17.jar -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/views/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page isELIgnored="false" %> 2 | <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> 3 | 4 | 5 |

It's working on Tomcat server(9.0.65)

6 |
7 |

${msg}

8 |

Have a nice day.

9 |

Today is

10 | 11 | -------------------------------------------------------------------------------- /target/hello-world/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | Archetype Created Web Application 7 | 8 | -------------------------------------------------------------------------------- /target/maven-archiver/pom.properties: -------------------------------------------------------------------------------- 1 | #Created by Apache Maven 3.6.3 2 | groupId=com.njonecompany.web 3 | artifactId=web 4 | version=1.0 5 | -------------------------------------------------------------------------------- /target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst: -------------------------------------------------------------------------------- 1 | com/njonecompany/web/config/SpringConfig.class 2 | com/njonecompany/web/controller/WelcomeController.class 3 | com/njonecompany/web/WebInitializer.class 4 | -------------------------------------------------------------------------------- /target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst: -------------------------------------------------------------------------------- 1 | /Users/dowonlee_1/Desktop/git/hello-world/cicd-web-project/src/main/java/com/njonecompany/web/controller/WelcomeController.java 2 | /Users/dowonlee_1/Desktop/git/hello-world/cicd-web-project/src/main/java/com/njonecompany/web/config/SpringConfig.java 3 | /Users/dowonlee_1/Desktop/git/hello-world/cicd-web-project/src/main/java/com/njonecompany/web/WebInitializer.java 4 | -------------------------------------------------------------------------------- /target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst: -------------------------------------------------------------------------------- 1 | com/njonecompany/web/TestWelcome.class 2 | -------------------------------------------------------------------------------- /target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst: -------------------------------------------------------------------------------- 1 | /Users/dowonlee_1/Desktop/git/hello-world/cicd-web-project/src/test/java/com/njonecompany/web/TestWelcome.java 2 | -------------------------------------------------------------------------------- /target/sonar/.sonar_lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/sonar/.sonar_lock -------------------------------------------------------------------------------- /target/sonar/report-task.txt: -------------------------------------------------------------------------------- 1 | projectKey=com.njonecompany.web:web 2 | serverUrl=http://localhost:9000 3 | serverVersion=9.5.0.56709 4 | dashboardUrl=http://localhost:9000/dashboard?id=com.njonecompany.web%3Aweb 5 | ceTaskId=AYJr8_sywVTD7cEa5JiI 6 | ceTaskUrl=http://localhost:9000/api/ce/task?id=AYJr8_sywVTD7cEa5JiI 7 | -------------------------------------------------------------------------------- /target/test-classes/com/njonecompany/web/TestWelcome.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joneconsulting/cicd-web-project/01f9e272dab7894a821675c39848cce100583520/target/test-classes/com/njonecompany/web/TestWelcome.class --------------------------------------------------------------------------------