1. Buat kelas testserver baru
Paket com.yanek.test; impor java.io.ioException; impor java.lang.reflect.method; import javax.servlet.servletException; import javax.servlet.http.httpservlet; impor javax.servlet.http.httpservet; javax.servlet.http.httpservletResponse; TestServlet kelas publik memperluas httpservlet {public void doGet (httpservletRequest, httpservletResponse); lempar servletException, ioException {// Dapatkan jalur penuh dari kelas dan clasppare (IoException. // Dapatkan Metode Nama String MethodName = Request.GetParameter ("Metode"); coba {// dapatkan kelas file kelas <?> t_class = class.forname (className); // Dapatkan metode yang diperlukan dengan metode metode kelas ini = t_class.getDecLaredMethod (MethodName, httpservletrequest.class, httpservletResponse.class); method.invoke (t_class.newInstance (), permintaan, respons); // implementasi metode} catch (pengecualian e) {e.printstacktrace (); }} public void dopost (permintaan httpservletRequest, respons httpservletResponse) melempar servletException, ioException {doGet (permintaan, respons); }} 2. Buat kelas yang perlu dipanggil secara otomatis
Paket com.yanek.test; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletResponse; tes kelas publik { / ** * @param args * / public static main (string [] args) {System.out.out } tes public void (permintaan httpservletRequest, respons httpservletResponse) {System.out.println ("Hello"); System.out.println (request.getParameter ("nama pengguna")); }} 3. Konfigurasi Web.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <Web-app Versi = "2.5" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http:/www.w3.org/2001 =" http:/www.w3.org/200 XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/weee/web-apping_2 <play-name> tes </display-name> <servlet-name> test </servlet-name> <servlet-class> com.yanek.test.testservlet </servlet-class> <load-on-startup> 1 </load-on-startup> </servlet> <servlet-papping> <servlet-name> </servlet-name> </Servlet> <servlet> <servlet-patping> <Rervlet-Tartup> </servlet-name> </servlet> <servlet> <servlet> <servlet-name> </servlet-name> </servlet> <servlet> <servlet> <servlet-name> </servlet-name> </Servlet> <creendak-file-list> <creendak-file> index.jsp </celcome-file> </celcome-file-list> <tgogin-config> <Outh-method> BASIC </auth-Method> </gogin-config> </seb-app>
4. Mulai akses server:
http://127.0.0.1:8081/testprj/test?classname=com.yanek.test.test&method=test&username=aspboy
Output Konsol:
Halo
Aspboy
Deskripsi: Metode kelas com.yanek.test.test tes void publik (permintaan httpservletrequest, respons httpservletresponse) dijalankan.
Mekanisme refleksi adalah fungsi penting dalam Java dan banyak digunakan dalam desain kerangka kerja.
Lingkungan Uji: Tomcat6.0
Metode sederhana di atas untuk menggunakan mekanisme refleksi Java untuk mencapai kelas panggilan otomatis adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.