commit 5aae4f6970cc9aae90c3a4b87115be3a90295254
Author: 童成 <13191486+tong-cheng666@user.noreply.gitee.com>
Date: Sun Oct 29 22:05:28 2023 +0800
初始化
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..73f69e0
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..ee52764
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..2a89eda
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..919019a
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..e96534f
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SpringMvc.iml b/SpringMvc.iml
new file mode 100644
index 0000000..78b2cc5
--- /dev/null
+++ b/SpringMvc.iml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..a6985db
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,87 @@
+
+
+
+ 4.0.0
+
+ com.tong
+ SpringMvc
+ 1.0-SNAPSHOT
+ war
+
+ SpringMvc Maven Webapp
+
+ http://www.example.com
+
+
+ UTF-8
+ 1.8
+ 1.8
+
+
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+
+ javax.servlet
+ javax.servlet-api
+ 3.1.0
+ provided
+
+
+
+ dom4j
+ dom4j
+ 1.6.1
+
+
+
+ org.apache.commons
+ commons-lang3
+ 3.5
+
+
+
+
+
+ SpringMvc
+
+
+
+ maven-clean-plugin
+ 3.1.0
+
+
+
+ maven-resources-plugin
+ 3.3.0
+
+
+ maven-compiler-plugin
+ 3.10.1
+
+
+ maven-surefire-plugin
+ 2.22.2
+
+
+ maven-war-plugin
+ 3.4.0
+
+
+ maven-install-plugin
+ 3.0.1
+
+
+ maven-deploy-plugin
+ 3.0.0
+
+
+
+
+
diff --git a/src/main/java/com/tong/annaotation/EnjoyAutowired.java b/src/main/java/com/tong/annaotation/EnjoyAutowired.java
new file mode 100644
index 0000000..b4124b5
--- /dev/null
+++ b/src/main/java/com/tong/annaotation/EnjoyAutowired.java
@@ -0,0 +1,10 @@
+package com.tong.annaotation;
+
+import java.lang.annotation.*;
+
+@Target({ElementType.FIELD})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface EnjoyAutowired {
+ String value() default "";
+}
diff --git a/src/main/java/com/tong/annaotation/EnjoyController.java b/src/main/java/com/tong/annaotation/EnjoyController.java
new file mode 100644
index 0000000..535888d
--- /dev/null
+++ b/src/main/java/com/tong/annaotation/EnjoyController.java
@@ -0,0 +1,10 @@
+package com.tong.annaotation;
+
+import java.lang.annotation.*;
+
+@Target({ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface EnjoyController {
+ String value() default "";
+}
diff --git a/src/main/java/com/tong/annaotation/EnjoyRequestMapping.java b/src/main/java/com/tong/annaotation/EnjoyRequestMapping.java
new file mode 100644
index 0000000..edcd1b9
--- /dev/null
+++ b/src/main/java/com/tong/annaotation/EnjoyRequestMapping.java
@@ -0,0 +1,10 @@
+package com.tong.annaotation;
+
+import java.lang.annotation.*;
+
+@Target({ElementType.TYPE, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface EnjoyRequestMapping {
+ String value() default "";
+}
diff --git a/src/main/java/com/tong/annaotation/EnjoyRequestParam.java b/src/main/java/com/tong/annaotation/EnjoyRequestParam.java
new file mode 100644
index 0000000..a51471d
--- /dev/null
+++ b/src/main/java/com/tong/annaotation/EnjoyRequestParam.java
@@ -0,0 +1,10 @@
+package com.tong.annaotation;
+
+import java.lang.annotation.*;
+
+@Target({ElementType.PARAMETER})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface EnjoyRequestParam {
+ String value() default "";
+}
diff --git a/src/main/java/com/tong/annaotation/EnjoyService.java b/src/main/java/com/tong/annaotation/EnjoyService.java
new file mode 100644
index 0000000..6c3fdb5
--- /dev/null
+++ b/src/main/java/com/tong/annaotation/EnjoyService.java
@@ -0,0 +1,10 @@
+package com.tong.annaotation;
+
+import java.lang.annotation.*;
+
+@Target({ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface EnjoyService {
+ String value() default "";
+}
diff --git a/src/main/java/com/tong/controller/TongController.java b/src/main/java/com/tong/controller/TongController.java
new file mode 100644
index 0000000..cc9dddd
--- /dev/null
+++ b/src/main/java/com/tong/controller/TongController.java
@@ -0,0 +1,32 @@
+package com.tong.controller;
+
+import com.tong.annaotation.EnjoyAutowired;
+import com.tong.annaotation.EnjoyController;
+import com.tong.annaotation.EnjoyRequestMapping;
+import com.tong.annaotation.EnjoyRequestParam;
+import com.tong.service.TongService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+@EnjoyController
+@EnjoyRequestMapping("/tong")
+public class TongController {
+
+ @EnjoyAutowired("TongServiceImpl")
+ private TongService tongService;
+
+ @EnjoyRequestMapping("/query")
+ public void query(HttpServletRequest request, HttpServletResponse response, @EnjoyRequestParam("name") String name,
+ @EnjoyRequestParam("age") String age) {
+ try {
+ PrintWriter pw = response.getWriter();
+ String result = tongService.query(name, age);
+ pw.write(result);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/tong/service/TongService.java b/src/main/java/com/tong/service/TongService.java
new file mode 100644
index 0000000..2fde48b
--- /dev/null
+++ b/src/main/java/com/tong/service/TongService.java
@@ -0,0 +1,5 @@
+package com.tong.service;
+
+public interface TongService {
+ String query(String name, String age);
+}
diff --git a/src/main/java/com/tong/service/impl/TongServiceImpl.java b/src/main/java/com/tong/service/impl/TongServiceImpl.java
new file mode 100644
index 0000000..2fd4397
--- /dev/null
+++ b/src/main/java/com/tong/service/impl/TongServiceImpl.java
@@ -0,0 +1,13 @@
+package com.tong.service.impl;
+
+import com.tong.annaotation.EnjoyService;
+import com.tong.service.TongService;
+
+@EnjoyService("TongServiceImpl") //map.put(TongServiceImpl, new TongServiceImpl())
+public class TongServiceImpl implements TongService {
+
+ @Override
+ public String query(String name, String age) {
+ return "name==="+name+"; age==="+age;
+ }
+}
diff --git a/src/main/java/com/tong/servlet/DispatcherServlet.java b/src/main/java/com/tong/servlet/DispatcherServlet.java
new file mode 100644
index 0000000..9f85ab9
--- /dev/null
+++ b/src/main/java/com/tong/servlet/DispatcherServlet.java
@@ -0,0 +1,216 @@
+package com.tong.servlet;
+
+import com.tong.annaotation.*;
+import com.tong.controller.TongController;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class DispatcherServlet extends HttpServlet {
+
+ List classNames = new ArrayList();
+
+ Map beans = new HashMap();
+ Map handlerMap = new HashMap();
+
+// private static final long serialVersionUID = 1L;
+
+ public void init(ServletConfig config) throws ServletException {
+ //把所有的bean扫描 ----扫描所有的class文件
+ scanPackage("com.tong");
+
+ doInstance(); //根据全类名创建bean
+
+ doIoc(); //根据bean进行依赖注入
+
+ buildUrlMapping(); //建立映射关系
+ }
+
+ private void scanPackage(String basePackage) {
+ URL url = this.getClass().getClassLoader().getResource("/"+basePackage.replaceAll("\\.", "/"));
+ String fileStr = url.getFile();
+
+ File file = new File(fileStr);
+
+ String[] filesStr = file.list();
+
+ for (String path : filesStr) {
+ File filePath = new File(fileStr+path);
+
+ if (filePath.isDirectory()) {
+ scanPackage(basePackage+"."+path);
+ }else {
+ //加入list
+ classNames.add(basePackage+"."+filePath.getName());
+ }
+ }
+ }
+
+ //根据扫描的list全类名,进行实例化
+ private void doInstance() {
+ if (classNames.size() <= 0) {
+ System.out.println("包扫描失败.....");
+ return;
+ }
+
+ //遍历list的所有Class类
+ for (String className : classNames) {
+ String cn = className.replace(".class", "");
+ try {
+ Class> clazz = Class.forName(cn);
+ if (clazz.isAnnotationPresent(EnjoyController.class)) {
+ Object instance = clazz.newInstance();//创建控制类
+ EnjoyRequestMapping requestMapping = clazz.getAnnotation(EnjoyRequestMapping.class);
+ String rmvalue = requestMapping.value();
+ beans.put(rmvalue, instance);
+ }else if (clazz.isAnnotationPresent(EnjoyService.class)) {
+ EnjoyService service = clazz.getAnnotation(EnjoyService.class);
+ Object instance = clazz.newInstance();
+ beans.put(service.value(), instance);
+ }else {
+ continue;
+ }
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ } catch (InstantiationException e) {
+ e.printStackTrace();
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ //把service注入到controller
+ public void doIoc() {
+ if (beans.entrySet().size() <= 0) {
+ System.out.println("没有一个实例化类");
+ }
+ //把map里所有的实例化遍历出来
+ for (Map.Entry entry: beans.entrySet()) {
+ Object instance = entry.getValue();
+ Class> clazz = instance.getClass();
+
+ if (clazz.isAnnotationPresent(EnjoyController.class)) {
+ Field[] fields = clazz.getDeclaredFields();
+ for (Field field : fields) {
+ if (field.isAnnotationPresent(EnjoyAutowired.class)) {
+ EnjoyAutowired auto = field.getAnnotation(EnjoyAutowired.class);
+ String key = auto.value();
+ field.setAccessible(true);
+ try {
+ field.set(instance, beans.get(key));
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }else {
+ continue;
+ }
+ }
+ }else {
+ continue;
+ }
+ }
+ }
+
+ private void buildUrlMapping() {
+ if (beans.entrySet().size() <= 0) {
+ System.out.println("没有实例化____");
+ return;
+ }
+ for (Map.Entry entry: beans.entrySet()) {
+ Object instance = entry.getValue();
+ Class> clazz = instance.getClass();
+
+ if (clazz.isAnnotationPresent(EnjoyController.class)) {
+ EnjoyRequestMapping requestMapping = clazz.getAnnotation(EnjoyRequestMapping.class);
+ String classPath = requestMapping.value();
+
+ Method[] methods = clazz.getMethods();
+ for (Method method : methods) {
+ if (method.isAnnotationPresent(EnjoyRequestMapping.class)) {
+ EnjoyRequestMapping methodMapping = method.getAnnotation(EnjoyRequestMapping.class);
+ String methodPath = methodMapping.value();
+
+ handlerMap.put(classPath+methodPath, method);
+ }else {
+ continue;
+ }
+ }
+ }else {
+ continue;
+ }
+ }
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ this.doPost(req, resp);
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ // 获取请求路径
+ String uri = req.getRequestURI();
+ String context = req.getContextPath();
+ String path = uri.replace(context, "");
+
+ Method method = (Method) handlerMap.get(path);
+
+ TongController instance = (TongController) beans.get("/"+path.split("/")[1]);
+
+ Object[] args = hand(req, resp, method);
+ try {
+ method.invoke(instance, args);
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ } catch (InvocationTargetException e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static Object[] hand(HttpServletRequest request, HttpServletResponse response, Method method) {
+ //拿到待执行的方法有哪些参数
+ Class>[] paramClazzs = method.getParameterTypes();
+
+ //根据参数的个数,new 一个参数的数组,将方法的所有参数赋值到args
+ Object[] args = new Object[paramClazzs.length];
+
+ int args_i = 0;
+ int index = 0;
+ for (Class> paramClazz : paramClazzs) {
+ if (ServletRequest.class.isAssignableFrom(paramClazz)) {
+ args[args_i++] = request;
+ }
+ if (ServletResponse.class.isAssignableFrom(paramClazz)) {
+ args[args_i++] = response;
+ }
+ Annotation[] paramAns = method.getParameterAnnotations()[index];
+ if (paramAns.length > 0) {
+ for (Annotation paramAn : paramAns) {
+ if (EnjoyRequestParam.class.isAssignableFrom(paramAn.getClass())) {
+ EnjoyRequestParam rp = (EnjoyRequestParam) paramAn;
+
+ args[args_i++] = request.getParameter(rp.value());
+ }
+ }
+ }
+ index++;
+ }
+ return args;
+ }
+}
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..01d8eea
--- /dev/null
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,18 @@
+
+
+
+ Archetype Created Web Application
+
+
+
+ DispatcherServlet
+ com.tong.servlet.DispatcherServlet
+
+
+
+ DispatcherServlet
+ /
+
+
diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp
new file mode 100644
index 0000000..c38169b
--- /dev/null
+++ b/src/main/webapp/index.jsp
@@ -0,0 +1,5 @@
+
+
+Hello World!
+
+
diff --git a/target/SpringMvc.war b/target/SpringMvc.war
new file mode 100644
index 0000000..7e59a45
Binary files /dev/null and b/target/SpringMvc.war differ
diff --git a/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyAutowired.class b/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyAutowired.class
new file mode 100644
index 0000000..c8c6910
Binary files /dev/null and b/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyAutowired.class differ
diff --git a/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyController.class b/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyController.class
new file mode 100644
index 0000000..4e10422
Binary files /dev/null and b/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyController.class differ
diff --git a/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyRequestMapping.class b/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyRequestMapping.class
new file mode 100644
index 0000000..143b83b
Binary files /dev/null and b/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyRequestMapping.class differ
diff --git a/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyRequestParam.class b/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyRequestParam.class
new file mode 100644
index 0000000..9b726d3
Binary files /dev/null and b/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyRequestParam.class differ
diff --git a/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyService.class b/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyService.class
new file mode 100644
index 0000000..7565802
Binary files /dev/null and b/target/SpringMvc/WEB-INF/classes/com/tong/annaotation/EnjoyService.class differ
diff --git a/target/SpringMvc/WEB-INF/classes/com/tong/controller/TongController.class b/target/SpringMvc/WEB-INF/classes/com/tong/controller/TongController.class
new file mode 100644
index 0000000..14d4327
Binary files /dev/null and b/target/SpringMvc/WEB-INF/classes/com/tong/controller/TongController.class differ
diff --git a/target/SpringMvc/WEB-INF/classes/com/tong/service/TongService.class b/target/SpringMvc/WEB-INF/classes/com/tong/service/TongService.class
new file mode 100644
index 0000000..9635a01
Binary files /dev/null and b/target/SpringMvc/WEB-INF/classes/com/tong/service/TongService.class differ
diff --git a/target/SpringMvc/WEB-INF/classes/com/tong/service/impl/TongServiceImpl.class b/target/SpringMvc/WEB-INF/classes/com/tong/service/impl/TongServiceImpl.class
new file mode 100644
index 0000000..e56982e
Binary files /dev/null and b/target/SpringMvc/WEB-INF/classes/com/tong/service/impl/TongServiceImpl.class differ
diff --git a/target/SpringMvc/WEB-INF/classes/com/tong/servlet/DispatcherServlet.class b/target/SpringMvc/WEB-INF/classes/com/tong/servlet/DispatcherServlet.class
new file mode 100644
index 0000000..eed0577
Binary files /dev/null and b/target/SpringMvc/WEB-INF/classes/com/tong/servlet/DispatcherServlet.class differ
diff --git a/target/SpringMvc/WEB-INF/lib/commons-lang3-3.5.jar b/target/SpringMvc/WEB-INF/lib/commons-lang3-3.5.jar
new file mode 100644
index 0000000..6328c8d
Binary files /dev/null and b/target/SpringMvc/WEB-INF/lib/commons-lang3-3.5.jar differ
diff --git a/target/SpringMvc/WEB-INF/lib/dom4j-1.6.1.jar b/target/SpringMvc/WEB-INF/lib/dom4j-1.6.1.jar
new file mode 100644
index 0000000..c8c4dbb
Binary files /dev/null and b/target/SpringMvc/WEB-INF/lib/dom4j-1.6.1.jar differ
diff --git a/target/SpringMvc/WEB-INF/lib/xml-apis-1.0.b2.jar b/target/SpringMvc/WEB-INF/lib/xml-apis-1.0.b2.jar
new file mode 100644
index 0000000..ad33a5a
Binary files /dev/null and b/target/SpringMvc/WEB-INF/lib/xml-apis-1.0.b2.jar differ
diff --git a/target/SpringMvc/WEB-INF/web.xml b/target/SpringMvc/WEB-INF/web.xml
new file mode 100644
index 0000000..01d8eea
--- /dev/null
+++ b/target/SpringMvc/WEB-INF/web.xml
@@ -0,0 +1,18 @@
+
+
+
+ Archetype Created Web Application
+
+
+
+ DispatcherServlet
+ com.tong.servlet.DispatcherServlet
+
+
+
+ DispatcherServlet
+ /
+
+
diff --git a/target/SpringMvc/index.jsp b/target/SpringMvc/index.jsp
new file mode 100644
index 0000000..c38169b
--- /dev/null
+++ b/target/SpringMvc/index.jsp
@@ -0,0 +1,5 @@
+
+
+Hello World!
+
+
diff --git a/target/classes/com/tong/annaotation/EnjoyAutowired.class b/target/classes/com/tong/annaotation/EnjoyAutowired.class
new file mode 100644
index 0000000..c8c6910
Binary files /dev/null and b/target/classes/com/tong/annaotation/EnjoyAutowired.class differ
diff --git a/target/classes/com/tong/annaotation/EnjoyController.class b/target/classes/com/tong/annaotation/EnjoyController.class
new file mode 100644
index 0000000..4e10422
Binary files /dev/null and b/target/classes/com/tong/annaotation/EnjoyController.class differ
diff --git a/target/classes/com/tong/annaotation/EnjoyRequestMapping.class b/target/classes/com/tong/annaotation/EnjoyRequestMapping.class
new file mode 100644
index 0000000..143b83b
Binary files /dev/null and b/target/classes/com/tong/annaotation/EnjoyRequestMapping.class differ
diff --git a/target/classes/com/tong/annaotation/EnjoyRequestParam.class b/target/classes/com/tong/annaotation/EnjoyRequestParam.class
new file mode 100644
index 0000000..9b726d3
Binary files /dev/null and b/target/classes/com/tong/annaotation/EnjoyRequestParam.class differ
diff --git a/target/classes/com/tong/annaotation/EnjoyService.class b/target/classes/com/tong/annaotation/EnjoyService.class
new file mode 100644
index 0000000..7565802
Binary files /dev/null and b/target/classes/com/tong/annaotation/EnjoyService.class differ
diff --git a/target/classes/com/tong/controller/TongController.class b/target/classes/com/tong/controller/TongController.class
new file mode 100644
index 0000000..14d4327
Binary files /dev/null and b/target/classes/com/tong/controller/TongController.class differ
diff --git a/target/classes/com/tong/service/TongService.class b/target/classes/com/tong/service/TongService.class
new file mode 100644
index 0000000..9635a01
Binary files /dev/null and b/target/classes/com/tong/service/TongService.class differ
diff --git a/target/classes/com/tong/service/impl/TongServiceImpl.class b/target/classes/com/tong/service/impl/TongServiceImpl.class
new file mode 100644
index 0000000..e56982e
Binary files /dev/null and b/target/classes/com/tong/service/impl/TongServiceImpl.class differ
diff --git a/target/classes/com/tong/servlet/DispatcherServlet.class b/target/classes/com/tong/servlet/DispatcherServlet.class
new file mode 100644
index 0000000..eed0577
Binary files /dev/null and b/target/classes/com/tong/servlet/DispatcherServlet.class differ
diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..d0ae0b0
--- /dev/null
+++ b/target/maven-archiver/pom.properties
@@ -0,0 +1,3 @@
+artifactId=SpringMvc
+groupId=com.tong
+version=1.0-SNAPSHOT
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..2e42993
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,9 @@
+com\tong\servlet\DispatcherServlet.class
+com\tong\annaotation\EnjoyController.class
+com\tong\service\TongService.class
+com\tong\annaotation\EnjoyRequestParam.class
+com\tong\service\impl\TongServiceImpl.class
+com\tong\annaotation\EnjoyRequestMapping.class
+com\tong\annaotation\EnjoyService.class
+com\tong\controller\TongController.class
+com\tong\annaotation\EnjoyAutowired.class
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..76d5d20
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,9 @@
+D:\tong\SpringMvc\src\main\java\com\tong\annaotation\EnjoyService.java
+D:\tong\SpringMvc\src\main\java\com\tong\annaotation\EnjoyRequestMapping.java
+D:\tong\SpringMvc\src\main\java\com\tong\annaotation\EnjoyAutowired.java
+D:\tong\SpringMvc\src\main\java\com\tong\annaotation\EnjoyController.java
+D:\tong\SpringMvc\src\main\java\com\tong\servlet\DispatcherServlet.java
+D:\tong\SpringMvc\src\main\java\com\tong\controller\TongController.java
+D:\tong\SpringMvc\src\main\java\com\tong\service\impl\TongServiceImpl.java
+D:\tong\SpringMvc\src\main\java\com\tong\annaotation\EnjoyRequestParam.java
+D:\tong\SpringMvc\src\main\java\com\tong\service\TongService.java