1.新しいTestServletクラスを作成します
パッケージcom.yanek.test; import java.io.ioexception; import java.lang.refllect.method; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import; javax.servlet.http.httpservletResponse; public class testServletはhttpservlet {public void doget(httpservletrequest request、httpservletresponse応答)servletexceptionをスローします。 //メソッド名を取得しますstring methodname = request.getParameter( "method"); try {// class file class <?> t_class = class.forname(classname); //このクラスで必要なメソッドを取得する方法= t_class.getDeclaredMethod(MethodName、httpservletrequest.class、httpservletresponse.class); Method.Invoke(t_class.newinstance()、request、response); // methodの実装} catch(例外e){e.printstacktrace(); }} public void dopost(httpservletrequest request、httpservletResponse応答)servletexception、ioexception {doget(request、response); }} 2。自動的に呼ばれる必要があるクラスを作成します
パッケージcom.yanek.test; import javax.servlet.http.httpservletrequest; import javax.servlet.http.htttpservletresponse; public class test { / ** * @param args * / public static void main(String [] args){System.out.out.out.Outln } public void test(httpservletrequest request、httpservletResponse応答){system.out.println( "hello"); system.out.println(request.getParameter( "username")); }} 3。web.xml構成
<?xml version = "1.0" encoding = "utf-8"?> <web-appバージョン= "2.5" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instcance" xsi:schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/ns/javaee/web-app_25.xxd"> <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> </servet> <servlet-mapping> <servlet-name> test </servlet-name> <url-pertern> <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
コンソール出力:
こんにちは
アスボーイ
説明:クラスcom.yanek.test.testクラスのパブリックボイドテスト(httpservletrequestリクエスト、httpservletResponse応答)の方法が実行されます。
反射メカニズムはJavaで重要な機能であり、フレームワーク設計で広く使用されています。
テスト環境:Tomcat6.0
Java反射メカニズムを使用して自動通話クラスを実現する上記の簡単な方法は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。