添加head文件

master
chenchenxinhai 2023-10-29 13:55:41 +08:00
parent 0edac0c093
commit 64cf1aec8f
1 changed files with 34 additions and 6 deletions

View File

@ -1,18 +1,18 @@
package com.bwei.cxh.servlet;
import com.bwei.cxh.EnjoyAutowired;
import com.bwei.cxh.EnjoyController;
import com.bwei.cxh.EnjoyRequestMapping;
import com.bwei.cxh.EnjoyService;
import com.bwei.cxh.*;
import com.bwei.cxh.controller.CxhController;
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;
@ -89,6 +89,10 @@ public class DispatcherServlet extends HttpServlet {
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
throw new RuntimeException(e);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
}
}
@ -133,8 +137,32 @@ public class DispatcherServlet extends HttpServlet {
}
}
private Object[] hand(HttpServletRequest req, HttpServletResponse resp, Method method) {
return new Object[0];
private Object[] hand(HttpServletRequest request, HttpServletResponse response, Method method) {
Class<?>[] paramClazzs = method.getParameterTypes();
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;
// 找到注解里的name和age
args[args_i++]=request.getParameter(rp.value());
}
}
}
index++;
}
return args;
}