├── 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
--------------------------------------------------------------------------------