1. 새로운 testservlet 클래스를 만듭니다
package com.yanek.test; import java.io.ioexception; import java.lang.reflect.method; import javax.servlet.servletexception; import javax.servlet.http.httpervlet; import javax.servlet.http.htttp.httvletrequest; 가져 오기; javax.servlet.http.httpervletresponse; public class testservlet는 httpservlet {public void doget (httpservletrequest request, httpservletresponse 응답) servletexception, ioexception {// 클래스 및 이름 classname = request.getparameter ( "); // 메소드 이름 String 메서드 이름 = request.getParameter ( "method")를 가져옵니다. 시도 {// 클래스 파일 클래스 <?> t_class = class.forname (className)을 가져옵니다. //이 클래스 메소드에서 요구하는 메소드 메소드에 필요한 메소드를 가져옵니다. Method.getDeclaredMethod (MethodName, httpservletRequest.class, httpservletResponse.class); method.invoke (t_class.newinstance (), 요청, 응답); // 메소드의 구현} catch (예외 e) {e.printstacktrace (); }} public void dopost (httpservletrequest 요청, httpservletreponse 응답) servletexception, ioexception {doget (요청, 응답); }} 2. 자동으로 호출 해야하는 클래스를 만듭니다.
package com.yanek.test; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; public class test { / ** * @param args * / public static void main (string [] args) {System.out.println (Hello World! "); } public void test (httpservletRequest 요청, httpservletResponse 응답) {system.out.println ( "Hello"); System.out.println (request.getParameter ( "username")); }} 3. web.xml 구성
<? xml version = "1.0"encoding = "utf-8"?> <web-app version = "2.5"xmlns = "http://java.sun.com/xml/xml/ns/javaee"xmlns : xsi = "http://www.w3.org/2001/xmlschema-instance. xsi : schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_50 <display-name> test </display-name> <servlet-name> test </servlet-name> <servlet-class> com.yanek.test.testservlet </servlet-class> <load-on-startup> 1 </load-on-startup> </servlet> <servlet-mapping> <servlet-name> test </servlet-name> <llet-pattern> </url-pattern> </url-pattern> </url-pattern> <welcome-file-list> <welcome-file> index.jsp </welcome-file> </welcome-file-list> <login-config> <auth-method> Basic </auth-method> </login-config> </web-app>
4. 서버 액세스 시작 :
http://127.0.0.1:8081/testprj/test?classname=com.yanek.test.test&method=test&username=aspboy
콘솔 출력 :
안녕하세요
Aspboy
설명 : 클래스 com.yanek.test.test Class Public void test (httpservletrequest 요청, httpservletresponse 응답)의 방법이 실행됩니다.
반사 메커니즘은 Java에서 중요한 기능이며 프레임 워크 설계에 널리 사용됩니다.
테스트 환경 : tomcat6.0
자동 호출 클래스를 달성하기 위해 Java 반사 메커니즘을 사용하는 위의 간단한 방법은 내가 공유하는 모든 컨텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.