Llamar a un método de Java en jsp

Tengo una clase Java que realiza algunas operaciones en archivos. Como el código de Java es enorme, no quiero escribir este código en jsp. Quiero llamar a los métodos en jsp cuando sea necesario.

Por favor, dime el camino donde necesito guardar este archivo. También sería útil algún código de ejemplo sobre cómo usarlo.

Creo que la pregunta es, ¿cómo hacer que el código Java esté disponible para un JSP? Lo pondría a disposición como cualquier otro código Java, lo que significa que debe comstackrse en un archivo .class y colocarse en el classpath.

En las aplicaciones web, esto significa que el archivo de clase debe existir en WEB-INF / classes en el archivo o directorio .war de la aplicación, en la estructura de directorio habitual que coincida con su paquete. Por lo tanto, compile e implemente este código junto con todos los demás códigos Java de la aplicación, y debería estar en el lugar correcto.

Tenga en cuenta que necesitará importar su clase en el JSP, o usar el nombre de clase totalmente calificado, pero de lo contrario puede escribir cualquier código de Java que desee utilizando la syntax <%%>.

También puede declarar un método en alguna otra utilidad JSP, usando <%! %> syntax (observe el!), importe el JSP y luego llame al método declarado en dicho bloque. Sin embargo, este es un mal estilo.

En el servlet (que se ejecuta antes del JSP):

Person p = new Person(); // instantiate business object p.init(...); // init it or something request.setAttribute("person", p); // make it available to the template as 'person' 

En la plantilla puedes usar esto:

 your age is: ${person.age} <%-- calls person.getAge() --%> 

Dependiendo del tipo de acción que quiera llamar, normalmente usa taglibs, funciones EL o servlets para. El código Java realmente no pertenece a los archivos JSP, sino a las clases de Java.

Si desea preprocesar una solicitud, use el doGet() Servlet doGet() . P.ej

 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Preprocess request here. doYourThingHere(); // And forward to JSP to display data. request.getRequestDispatcher("page.jsp").forward(request, response); } 

Si desea posprocesar una solicitud después de enviar algún formulario, utilice en su lugar el método Servlet doPost() .

 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Postprocess request here. doYourThingHere(); // And forward to JSP to display results. request.getRequestDispatcher("page.jsp").forward(request, response); } 

Si desea controlar el flujo de página y / o la salida de HTML, use un taglib como taglib de núcleo JSTL o cree tags personalizadas .

Si desea ejecutar funciones estáticas / auxiliares, use funciones EL como JSTL fn taglib o cree funciones personalizadas .

Aunque no te aconsejaré que hagas llamadas java en JSP, puedes hacerlo dentro de tu JSP:

 <% //Your java code here (like you do in normal java class file. %>  

En caso de que te lo estés preguntando, la sección <% ... %> se llama scriptlet 🙂

En realidad, jsp no es el lugar correcto para ‘realizar algunas operaciones en los archivos’. ¿Has oído hablar del patrón MVC ?

Si aún te interesa llamar al método java desde jsp, puedes hacerlo, por ejemplo:
1. <% MyUtils.performOperation("delete") %> ( scriptlet )
2. (etiqueta personalizada)

De todos modos, te recomiendo que visites google sobre scriptlets, tags personalizadas jsp y patrones MVC.
Saludos cordiales, Gedevan