Skip to content

Commit aa4e12b

Browse files
committed
✨ 调整 javatool 项目结构;添加嵌入式 Tomcat 示例
1 parent 190eac1 commit aa4e12b

17 files changed

Lines changed: 5263 additions & 42 deletions

File tree

codes/javatool/examples/pom.xml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<?xml version="1.0"?>
2+
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
3+
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4+
<modelVersion>4.0.0</modelVersion>
5+
6+
7+
<!-- [Part 1] BASIC SETTINGS BEGIN -->
8+
9+
<!-- MAVEN COORDINATE BEGIN -->
10+
<artifactId>javatool-examples</artifactId>
11+
<packaging>jar</packaging>
12+
<!-- MAVEN COORDINATE END -->
13+
14+
<!-- RELATIONSHIP SETTINGS BEGIN -->
15+
<parent>
16+
<groupId>io.github.dunwu</groupId>
17+
<artifactId>javatool</artifactId>
18+
<version>1.0.0</version>
19+
</parent>
20+
<dependencies>
21+
<!-- log start -->
22+
<dependency>
23+
<groupId>log4j</groupId>
24+
<artifactId>log4j</artifactId>
25+
</dependency>
26+
27+
<dependency>
28+
<groupId>ch.qos.logback</groupId>
29+
<artifactId>logback-core</artifactId>
30+
</dependency>
31+
<dependency>
32+
<groupId>ch.qos.logback</groupId>
33+
<artifactId>logback-classic</artifactId>
34+
</dependency>
35+
<dependency>
36+
<groupId>ch.qos.logback</groupId>
37+
<artifactId>logback-access</artifactId>
38+
</dependency>
39+
<dependency>
40+
<groupId>net.logstash.logback</groupId>
41+
<artifactId>logstash-logback-encoder</artifactId>
42+
</dependency>
43+
<!-- log end -->
44+
</dependencies>
45+
<!-- RELATIONSHIP SETTINGS END -->
46+
47+
<!-- [Part 1] BASIC SETTINGS END -->
48+
49+
50+
<!-- [Part 2] BUILD SETTINGS BEGIN -->
51+
<build>
52+
<finalName>${artifactId}</finalName>
53+
<resources>
54+
<resource>
55+
<filtering>true</filtering>
56+
<directory>src/main/resources</directory>
57+
<includes>
58+
<include>logback.xml</include>
59+
<include>log4j.xml</include>
60+
</includes>
61+
<!--<targetPath>/abc</targetPath>-->
62+
</resource>
63+
</resources>
64+
</build>
65+
<!-- [Part 2] BUILD SETTINGS END -->
66+
67+
68+
<!-- [Part 3] PROJECT INFO BEGIN -->
69+
<name>${project.artifactId}</name>
70+
<description>Java 工具使用示例</description>
71+
<!-- [Part 3] PROJECT INFO END -->
72+
73+
74+
</project>

codes/javatool/src/main/java/io/github/dunwu/javatool/ElasticDemo.java renamed to codes/javatool/examples/src/main/java/io/github/dunwu/javatool/ElasticDemo.java

File renamed without changes.
File renamed without changes.
File renamed without changes.

codes/javatool/pom.xml

Lines changed: 79 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -10,55 +10,102 @@
1010
<groupId>io.github.dunwu</groupId>
1111
<artifactId>javatool</artifactId>
1212
<version>1.0.0</version>
13-
<packaging>jar</packaging>
13+
<modules>
14+
<module>server</module>
15+
<module>examples</module>
16+
</modules>
17+
<packaging>pom</packaging>
1418
<!-- MAVEN COORDINATE END -->
1519

1620
<!-- RELATIONSHIP SETTINGS BEGIN -->
1721
<dependencies>
18-
<!-- log start -->
19-
<dependency>
20-
<groupId>log4j</groupId>
21-
<artifactId>log4j</artifactId>
22-
<version>1.2.17</version>
23-
</dependency>
24-
25-
<dependency>
26-
<groupId>ch.qos.logback</groupId>
27-
<artifactId>logback-core</artifactId>
28-
<version>1.2.3</version>
29-
</dependency>
30-
<dependency>
31-
<groupId>ch.qos.logback</groupId>
32-
<artifactId>logback-classic</artifactId>
33-
<version>1.2.3</version>
34-
</dependency>
35-
<dependency>
36-
<groupId>ch.qos.logback</groupId>
37-
<artifactId>logback-access</artifactId>
38-
<version>1.2.3</version>
39-
</dependency>
40-
<dependency>
41-
<groupId>net.logstash.logback</groupId>
42-
<artifactId>logstash-logback-encoder</artifactId>
43-
<version>4.11</version>
44-
</dependency>
45-
<!-- log end -->
46-
4722
<dependency>
4823
<groupId>junit</groupId>
4924
<artifactId>junit</artifactId>
5025
<version>4.12</version>
5126
<scope>test</scope>
5227
</dependency>
5328
</dependencies>
29+
<dependencyManagement>
30+
<dependencies>
31+
<!-- log start -->
32+
<dependency>
33+
<groupId>log4j</groupId>
34+
<artifactId>log4j</artifactId>
35+
<version>1.2.17</version>
36+
</dependency>
37+
38+
<dependency>
39+
<groupId>ch.qos.logback</groupId>
40+
<artifactId>logback-core</artifactId>
41+
<version>1.2.3</version>
42+
</dependency>
43+
<dependency>
44+
<groupId>ch.qos.logback</groupId>
45+
<artifactId>logback-classic</artifactId>
46+
<version>1.2.3</version>
47+
</dependency>
48+
<dependency>
49+
<groupId>ch.qos.logback</groupId>
50+
<artifactId>logback-access</artifactId>
51+
<version>1.2.3</version>
52+
</dependency>
53+
<dependency>
54+
<groupId>net.logstash.logback</groupId>
55+
<artifactId>logstash-logback-encoder</artifactId>
56+
<version>4.11</version>
57+
</dependency>
58+
<dependency>
59+
<groupId>org.logback-extensions</groupId>
60+
<artifactId>logback-ext-spring</artifactId>
61+
<version>0.1.2</version>
62+
</dependency>
63+
<dependency>
64+
<groupId>org.slf4j</groupId>
65+
<artifactId>jcl-over-slf4j</artifactId>
66+
<version>1.7.12</version>
67+
</dependency>
68+
<!-- log end -->
69+
70+
<!-- javaee begin -->
71+
<dependency>
72+
<groupId>javax.servlet</groupId>
73+
<artifactId>javax.servlet-api</artifactId>
74+
<version>3.1.0</version>
75+
<scope>provided</scope>
76+
</dependency>
77+
<dependency>
78+
<groupId>javax.servlet.jsp</groupId>
79+
<artifactId>jsp-api</artifactId>
80+
<version>2.2</version>
81+
<scope>provided</scope>
82+
</dependency>
83+
<!-- javaee end -->
84+
85+
<!-- spring begin -->
86+
<dependency>
87+
<groupId>org.springframework</groupId>
88+
<artifactId>spring-context-support</artifactId>
89+
<version>${spring.version}</version>
90+
</dependency>
91+
<dependency>
92+
<groupId>org.springframework</groupId>
93+
<artifactId>spring-webmvc</artifactId>
94+
<version>${spring.version}</version>
95+
</dependency>
96+
<!-- spring end -->
97+
</dependencies>
98+
</dependencyManagement>
5499
<!-- RELATIONSHIP SETTINGS END -->
55100

56101
<!-- PROPERTIES BEGIN -->
57102
<properties>
58103
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
59-
<java.version>1.6</java.version>
104+
<java.version>1.8</java.version>
60105
<maven.compiler.source>${java.version}</maven.compiler.source>
61106
<maven.compiler.target>${java.version}</maven.compiler.target>
107+
108+
<spring.version>4.3.13.RELEASE</spring.version>
62109
</properties>
63110
<!-- PROPERTIES END -->
64111

@@ -67,17 +114,7 @@
67114

68115
<!-- [Part 2] BUILD SETTINGS BEGIN -->
69116
<build>
70-
<resources>
71-
<resource>
72-
<filtering>true</filtering>
73-
<directory>src/main/resources</directory>
74-
<includes>
75-
<include>logback.xml</include>
76-
<include>log4j.xml</include>
77-
</includes>
78-
<!--<targetPath>/abc</targetPath>-->
79-
</resource>
80-
</resources>
117+
<finalName>${project.artifactId}</finalName>
81118
</build>
82119
<!-- [Part 2] BUILD SETTINGS END -->
83120

codes/javatool/server/pom.xml

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
<?xml version="1.0"?>
2+
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
3+
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4+
<modelVersion>4.0.0</modelVersion>
5+
6+
7+
<!-- [Part 1] BASIC SETTINGS BEGIN -->
8+
9+
<!-- MAVEN COORDINATE BEGIN -->
10+
<artifactId>javatool-server</artifactId>
11+
<packaging>war</packaging>
12+
<!-- MAVEN COORDINATE END -->
13+
14+
<!-- RELATIONSHIP SETTINGS BEGIN -->
15+
<parent>
16+
<groupId>io.github.dunwu</groupId>
17+
<artifactId>javatool</artifactId>
18+
<version>1.0.0</version>
19+
</parent>
20+
<dependencies>
21+
<!-- log begin -->
22+
<dependency>
23+
<groupId>ch.qos.logback</groupId>
24+
<artifactId>logback-classic</artifactId>
25+
</dependency>
26+
<dependency>
27+
<groupId>org.logback-extensions</groupId>
28+
<artifactId>logback-ext-spring</artifactId>
29+
</dependency>
30+
<dependency>
31+
<groupId>org.slf4j</groupId>
32+
<artifactId>jcl-over-slf4j</artifactId>
33+
</dependency>
34+
<!-- log end -->
35+
36+
<!-- javaee begin -->
37+
<dependency>
38+
<groupId>javax.servlet</groupId>
39+
<artifactId>javax.servlet-api</artifactId>
40+
<scope>provided</scope>
41+
</dependency>
42+
<dependency>
43+
<groupId>javax.servlet.jsp</groupId>
44+
<artifactId>jsp-api</artifactId>
45+
<scope>provided</scope>
46+
</dependency>
47+
<!-- javaee end -->
48+
49+
<!-- server betgin -->
50+
<dependency>
51+
<groupId>org.apache.tomcat.embed</groupId>
52+
<artifactId>tomcat-embed-core</artifactId>
53+
<version>${tomcat.version}</version>
54+
</dependency>
55+
<dependency>
56+
<groupId>org.apache.tomcat.embed</groupId>
57+
<artifactId>tomcat-embed-el</artifactId>
58+
<version>${tomcat.version}</version>
59+
</dependency>
60+
<dependency>
61+
<groupId>org.apache.tomcat.embed</groupId>
62+
<artifactId>tomcat-embed-jasper</artifactId>
63+
<version>${tomcat.version}</version>
64+
</dependency>
65+
<!-- server end -->
66+
67+
<!-- spring begin -->
68+
<dependency>
69+
<groupId>org.springframework</groupId>
70+
<artifactId>spring-context-support</artifactId>
71+
</dependency>
72+
<dependency>
73+
<groupId>org.springframework</groupId>
74+
<artifactId>spring-webmvc</artifactId>
75+
</dependency>
76+
<!-- spring end -->
77+
</dependencies>
78+
<!-- RELATIONSHIP SETTINGS END -->
79+
80+
<!-- PROPERTIES BEGIN -->
81+
<properties>
82+
<tomcat.version>8.5.24</tomcat.version>
83+
</properties>
84+
<!-- PROPERTIES END -->
85+
86+
<!-- [Part 1] BASIC SETTINGS END -->
87+
88+
89+
<!-- [Part 2] BUILD SETTINGS BEGIN -->
90+
<build>
91+
</build>
92+
<!-- [Part 2] BUILD SETTINGS END -->
93+
94+
95+
<!-- [Part 3] PROJECT INFO BEGIN -->
96+
<name>${project.artifactId}</name>
97+
<description>Java工具-服务器 示例</description>
98+
<!-- [Part 3] PROJECT INFO END -->
99+
100+
101+
</project>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package io.github.dunwu.javatool.controller;
2+
3+
import org.slf4j.Logger;
4+
import org.slf4j.LoggerFactory;
5+
import org.springframework.stereotype.Controller;
6+
import org.springframework.web.bind.annotation.RequestMapping;
7+
import org.springframework.web.bind.annotation.RequestMethod;
8+
import org.springframework.web.bind.annotation.RequestParam;
9+
import org.springframework.web.bind.annotation.ResponseBody;
10+
import org.springframework.web.servlet.ModelAndView;
11+
12+
/**
13+
* spring mvc 的第一个程序
14+
*
15+
* @author Zhang Peng
16+
* @since 2016.07.29
17+
*/
18+
@Controller
19+
@RequestMapping(value = "/hello")
20+
public class HelloController {
21+
private final Logger log = LoggerFactory.getLogger(this.getClass());
22+
23+
/**
24+
* <p>在本例中,Spring将会将数据传给 hello.jsp
25+
* <p>访问形式:http://localhost:8080/hello?name=张三
26+
*/
27+
@RequestMapping(value = "/name", method = RequestMethod.GET)
28+
public ModelAndView hello(@RequestParam("name") String name) {
29+
ModelAndView mav = new ModelAndView();
30+
mav.addObject("message", "你好," + name);
31+
mav.setViewName("hello");
32+
return mav;
33+
}
34+
35+
/**
36+
* <p>测试 logback 分级日志。配置项见src/main/resouces/logback.xml
37+
* <p>访问形式:http://localhost:8080/log
38+
*/
39+
@ResponseBody
40+
@RequestMapping(value = "/log", method = RequestMethod.GET)
41+
public String log() {
42+
String msg = "print log, current level: {}";
43+
log.trace(msg, "trace");
44+
log.debug(msg, "debug");
45+
log.info(msg, "info");
46+
log.warn(msg, "warn");
47+
log.error(msg, "error");
48+
return msg;
49+
}
50+
}

0 commit comments

Comments
 (0)