1. Cree una nueva clase TestServlet
paquete com.yanek.test; import java.io.ioexception; import java.lang.reflect.method; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletRequest; import; importar; import javax.servlet.http.httpServletResponse; public class testServlet extiende httpservlet {public void doget (httpservletRequest request, httpservletResponse respuesta) lanza ServletException, ioexception {// obtiene la ruta completa de la clase y name string classname.getparameter ("classname"; // Obtener el nombre del método String MethodName = request.getParameter ("método"); Pruebe {// Obtenga el archivo de clase Class <?> t_class = class.forname (classname); // Obtenga el método requerido por este método de clase Método = t_class.getDeclaredMethod (MethodName, httpservletRequest.class, httpservletResponse.class); método.invoke (t_class.newinstance (), solicitud, respuesta); // Implementación del método} Catch (Exception e) {E.PrintStackTrace (); }} public void dopost (httpservletRequest solicitud, respuesta httpservletResponse) arroja servletException, ioexception {doget (solicitud, respuesta); }} 2. Cree una clase que debe llamarse automáticamente
paquete 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!"); } Test Public void (HTTPServletRequest Solicitud, respuesta httpservletResponse) {System.out.println ("Hello"); System.out.println (request.getParameter ("nombre de usuario")); }} 3. Configuración web.xml
<? xml versión = "1.0" encoding = "utf-8"?> <web-app versión = "2.5" xmlns = "http://java.sun.com/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/Javaeee/web-app_2_5.xsd"> <Servlet> <Spant-Name> test </sip-name> <servlet-name> test </servlet-name> <ervlet-class> com.yanek.test.testservlet </servlet-class> <load-on-startup> 1 </load on-startup> </servlet> <ervlet-mapping> <ervlet-name> test </servlet-name> <s url-pattern>/url-pattern> <usl> <sl-url-patter <Devene-File-List> <Devene-File> Index.jsp </Welcome-File> </Welcome-File-List> <Login-Config> <Oft-Method> Basic </eth-Method> </login-Config> </beb-app>
4. Inicie el acceso al servidor:
http://127.0.0.1:8081/testprj/test?classname=com.yanek.test.test&method=test&username=aspboy
Salida de la consola:
Hola
aspboy
Descripción: El método de la clase com.yanek.test.test class public void test (httpservletRequest se ejecuta, respuesta httpservletreSponse).
El mecanismo de reflexión es una función importante en Java y se usa ampliamente en el diseño de marco.
Entorno de prueba: Tomcat6.0
El método simple anterior para usar el mecanismo de reflexión Java para lograr clases de llamadas automáticas es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.