1. Создайте новый класс Testservlet
Пакет com.yanek.test; import java.io.ioexception; import java.lang.reflect.method; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.htp.httpservlectrequest; javax.servlet.http.httpservletresponse; public class testservlet расширяется httpservlet {public void Doget (httpservlectrequest, httpservletresponse response) throws servletexception, ioexception {// Получить полный путь класса и назвать String Classname = request.getParameter ("//) // Получить имя метода string methodname = request.getParameter ("method"); try {// получить класс файла класса <?> t_class = class.forname (classname); // Получить метод, требуемый этим методом метода класса = t_class.getDeclaredMethod (Methodname, httpservletrequest.class, httpservletresponse.class); method.invoke (t_class.newinstance (), запрос, ответ); // реализация метода} catch (Exception e) {e.printstacktrace (); }} public void dopost (httpservletrequest -запрос, httpservletresponse response) throws servletexception, ioexception {Doget (запрос, ответ); }} 2. Создайте класс, который необходимо называться автоматически
пакет com.yanek.test; импорт javax.servlet.http.httpservletrequest; импорт javax.servlet.http.httpservletresponse; тест открытого класса { / ** * @param args * / public void main (string [] args) {System.out.println ("hello World!"); } public void -тест (httpservletrequest, httpservletresponse response) {System.out.println ("hello"); System.out.println (request.getParameter ("имя пользователя")); }} 3. Конфигурация Web.xml
<? xml version = "1.0" Encoding = "utf-8"?> <web-app arser = "2,5" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http://www.w3.org/2001/xmlschema electan "/www.w3. 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_5.xssd"> <serlet> <serlet> <serlet> <serlet> <serlet> <cerlet> <> <> destlet> <> devilt> <> <> devillet> <cerlet> <> devilt> <cerplet> <serlet> <cerplet> <cerplet> <cerplet> <cerplet> <cerplet> <cerplet> <com <SIVEL-name> test </display-name> <servlet-name> test </servlet-name> <servlet-class> com.yanek.test.testservlet </servlet-class> <gudt-on-startup> 1 </load-on-startup> </servlet> <servlet-mapping> <servlet-name> test </servlet-name> <url-patter> </testmation> </testaster> </servlet-name> <url-patter> <Welcome-file-list> <selcoveryfile> index.jsp </wervedied-file> </wervediefle-list> <gogin-config> <atormethod> 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 class public void -тест (httpservletrequest, выполняется httpservletresponse response).
Механизм отражения является важной функцией в Java и широко используется в дизайне фреймворта.
Тестовая среда: tomcat6.0
Приведенный выше простой метод использования механизма отражения Java для достижения автоматических классов вызовов - это все контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.