web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app SYSTEM "../lib/web-app_2_3.dtd" >
<web-app version="2.3">
<servlet>
<servlet-name>MyServlet1</servlet-name>
<servlet-class>com.dxm.servlet.MyServlet1</servlet-class>
</servlet>
<servlet>
<servlet-name>MyServlet2</servlet-name>
<servlet-class>com.dxm.servlet.MyServlet2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet1</servlet-name>
<url-pattern>/servlet1</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>MyServlet2</servlet-name>
<url-pattern>/servlet2</url-pattern>
</servlet-mapping>
</web-app>
package com.dxm.servlet;
public interface IMyServlet {
public void init();
public void service();
public void destroy();
}
package com.dxm.servlet;
public class MyServlet1 implements IMyServlet{
@Override
public void init() {
System.out.println("MyServlet1 init");
}
@Override
public void service() {
System.out.println("MyServlet1 service");
}
@Override
public void destroy() {
System.out.println("MyServlet1 destroy");
}
}
package com.dxm.servlet;
public class MyServlet2 implements IMyServlet{
@Override
public void init() {
System.out.println("MyServlet2 init");
}
@Override
public void service() {
System.out.println("MyServlet2 service");
}
@Override
public void destroy() {
System.out.println("MyServlet2 destroy");
}
}
package com.dxm.servlet;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;
public class TestMyServlet {
@Test
public void test() throws Exception {
SAXReader reader = new SAXReader();
Document doc = reader.read("src/web.xml");
Element rootElement = doc.getRootElement();
List<Element> elements = rootElement.elements("servlet");
for (Element ele : elements) {
String servletName = ele.element("servlet-name").getText();
String servletClass = ele.element("servlet-class").getText();
System.out.println(servletName);
System.out.println(servletClass);
Class clazz = Class.forName(servletClass);
IMyServlet myServlet = (IMyServlet) clazz.newInstance();
myServlet.init();
myServlet.service();
myServlet.destroy();
}
}
}