Skip to content

Commit a9e1978

Browse files
committed
docs: add ; for code
1 parent 08d1875 commit a9e1978

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

docs/shell/ServletShell.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ ServletContext 定义了 Servlet 运行的 Web 应用视图,一个 Web 应用
1515
ServletContext 必须支持编程式添加 Servlet、Filter 和 Listener,对框架开发者有用处。但是规定了这些方法只能在 ServletContextListener.contexInitialized 或 ServletContainerInitializer.onStartup 应用初始化的时候调用。
1616

1717
```java
18-
addServlet(String servletName, String className)
19-
addServlet(String servletName, Servlet servlet)
20-
addServlet(String servletName, Class <? extends Servlet> servletClass)
21-
addFilter(String filterName, String className)
22-
addFilter(String filterName, Filter filter)
23-
addFilter(String filterName, Class <? extends Filter> filterClass)
24-
void addListener(String className)
25-
void addListener(T t)
26-
void addListener(Class <? extends EventListener> listenerClass)
18+
addServlet(String servletName, String className);
19+
addServlet(String servletName, Servlet servlet);
20+
addServlet(String servletName, Class <? extends Servlet> servletClass);
21+
addFilter(String filterName, String className);
22+
addFilter(String filterName, Filter filter);
23+
addFilter(String filterName, Class <? extends Filter> filterClass);
24+
void addListener(String className);
25+
void addListener(T t);
26+
void addListener(Class <? extends EventListener> listenerClass);
2727
```
2828

2929
这就是在注入内存马时我们需要先拿 Context 的原因(已经写在了 Servlet 规范里面啦),所以针对实现了 Servlet 规范的 Web 容器都是一个套路,并且该反射调用哪些方法也写在里面了。不过在实现的时候却写了那么多代码的原因就是,其规定了这些方法只能在应用初始化的时候调用,我们注入内存马的时候已经是应用运行时了,那些代码实际上就是将方法内的具体实现重新用反射实现一遍。

0 commit comments

Comments
 (0)