2017-09-03 4 views
0

Je suis en train de coder une WebApp Java EE qui utilise plusieurs fichiers JSP. Jusqu'à présent, je l'utilise pour écrire les adresses comme ceci:Servlets transmettant aux JSP

http://www.example.com/login.jsp 

Mais je préfère qu'ils seraient comme:

http://www.example.com/login 

Je fait une Servlet pour chaque fichier JSP, et ceux qui ressemble à ça :

public class ForwardLoginServlet extends HttpServlet { 

    @Override 
    protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
        throws ServletException, IOException { 

     String url = context.getInitParameter("loginURL"); // this will return the login.jsp filename 
     forwardToURL(url, request, response); 
    } 
    // More stuff here (doget, do post,...) 
} 

Il fonctionne perfecty, mais ma question est la suivante: est-il une autre façon de le faire sans créer une nouvelle Servlet pour chaque JSP? Il n'est pas très rapide d'écrire une JSP puis d'écrire la servlet pour cela ...

Merci!

Répondre

2

Si vous ne devez mapper URL pour jsp alors vous pouvez le spécifier dans web.xml

<servlet> 
    <servlet-name>login</servlet-name> 
    <jsp-file>/WEB-INF/views/login.jsp</jsp-file> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>login</servlet-name> 
    <url-pattern>/login</url-pattern> 
</servlet-mapping> 
+0

Merci! C'était plus facile que je pouvais le penser! :) – Ommadawn