09_프로필을 읽는 방식으로 반사를 사용하여 실례 대상에 대한 호출을 완성합니다

1486 단어 JAVA 노트
package cn.itheima.web.servlet;

public interface IMyServlet {

	public void init();
	
	public void service();
	
	public void destory();
}

 
package cn.itheima.web.servlet1;

public class MyServlet1 implements IMyServlet{

	@Override
	public void init() {
		System.out.println("MyServlet1 ……");
		
	}

	@Override
	public void service() {
		System.out.println("MyServlet1 ……");
		
	}

	@Override
	public void destory() {
		System.out.println("MyServlet1 ……");
		
	}

}

 
package cn.itheima.web.servlet1;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;

public class TestMyServlet {
	
	@Test
	public void testMyServlet(){
		
		try {
			//1. 
			SAXReader saxReader = new SAXReader();
			//2. web.xml document 
			Document document = saxReader.read("src/cn/itheima/web/servlet1/web.xml");
			//3. 
			Element rootElement = document.getRootElement();
			//4. 
			Element servletElement = rootElement.element("servlet");
			//5. servlet-class 
			String servletClass = servletElement.element("servlet-class").getText();
			//6. 
			Class clazz = Class.forName(servletClass);
			//7. 
			MyServlet1 my = (MyServlet1)clazz.newInstance();
			//8. 
			my.init();
			my.service();
			my.destory();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

좋은 웹페이지 즐겨찾기