mirror of
https://github.com/ReaJason/MemShellParty.git
synced 2026-09-21 22:50:42 +08:00
docs: add ; for code
This commit is contained in:
@@ -15,15 +15,15 @@ ServletContext 定义了 Servlet 运行的 Web 应用视图,一个 Web 应用
|
||||
ServletContext 必须支持编程式添加 Servlet、Filter 和 Listener,对框架开发者有用处。但是规定了这些方法只能在 ServletContextListener.contexInitialized 或 ServletContainerInitializer.onStartup 应用初始化的时候调用。
|
||||
|
||||
```java
|
||||
addServlet(String servletName, String className)
|
||||
addServlet(String servletName, Servlet servlet)
|
||||
addServlet(String servletName, Class <? extends Servlet> servletClass)
|
||||
addFilter(String filterName, String className)
|
||||
addFilter(String filterName, Filter filter)
|
||||
addFilter(String filterName, Class <? extends Filter> filterClass)
|
||||
void addListener(String className)
|
||||
void addListener(T t)
|
||||
void addListener(Class <? extends EventListener> listenerClass)
|
||||
addServlet(String servletName, String className);
|
||||
addServlet(String servletName, Servlet servlet);
|
||||
addServlet(String servletName, Class <? extends Servlet> servletClass);
|
||||
addFilter(String filterName, String className);
|
||||
addFilter(String filterName, Filter filter);
|
||||
addFilter(String filterName, Class <? extends Filter> filterClass);
|
||||
void addListener(String className);
|
||||
void addListener(T t);
|
||||
void addListener(Class <? extends EventListener> listenerClass);
|
||||
```
|
||||
|
||||
这就是在注入内存马时我们需要先拿 Context 的原因(已经写在了 Servlet 规范里面啦),所以针对实现了 Servlet 规范的 Web 容器都是一个套路,并且该反射调用哪些方法也写在里面了。不过在实现的时候却写了那么多代码的原因就是,其规定了这些方法只能在应用初始化的时候调用,我们注入内存马的时候已经是应用运行时了,那些代码实际上就是将方法内的具体实现重新用反射实现一遍。
|
||||
|
||||
Reference in New Issue
Block a user