Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [Tomcat 5-Servlet] Dispatcher che non funziona

    Ciao a tutti. Sto preparando un progetto universitario, un portale di ecommerce. Sto sviluppando con una Servlet il Dispatcher che avrà il compito di filtrare tutte le richieste e gestire gli accessi autorizzati. Il codice funziona in genere, ma nel caso che serve a me NO!

    Siccome tutte le richieste devono essere gestite dal Dispatcher ho bisogno di configurare il file web.xml così:
    codice:
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    In questo modo però Tomcat mi restituisce un mega errore (javax.servlet.ServletException).
    Il codice (di prova) del dispatcher interessato è questo:
    codice:
    package jshop;
    
    import javax.servlet.http.*;
    import javax.servlet.ServletException;
    import java.io.*;
    import javax.servlet.RequestDispatcher;
    
    public class DispatcherServlet extends HttpServlet {
    
      public void doGet(HttpServletRequest request, HttpServletResponse response)
                                             throws ServletException, IOException {
    
        gotoPage("/index.jsp", request, response);
    
    
      private void gotoPage(String page,
                            HttpServletRequest request,
                            HttpServletResponse response)
                                             throws ServletException, IOException {
    
          RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(page);
          dispatcher.forward(request, response);
        }
    }
    Suggerimenti?
    Faccio notare che se nell'url-pattern metto un pattern senza asterisco il Dispatcher funziona!!
    Perchè non va con l'asterisco?

  2. #2
    prova a togliere lo slash prima dell'asterisco

  3. #3

    la servlet exception

    codice:
    type Exception report
    
    message 
    
    description The server encountered an internal error () that prevented it from fulfilling this request.
    
    exception 
    
    javax.servlet.ServletException: Servlet execution threw an exception
    	jshop.DispatcherServlet.gotoPage(DispatcherServlet.java:57)
    	jshop.DispatcherServlet.doGet(DispatcherServlet.java:31)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    ...si ripete la stessa sequenza per un bel po' e nella root cause:

    codice:
    java.lang.StackOverflowError
    org.apache.coyote.tomcat5.CoyoteRequest.getMethod(CoyoteRequest.java:1918)
    org.apache.coyote.tomcat5.CoyoteRequestFacade.getMethod(CoyoteRequestFacade.java:484)
    javax.servlet.http.HttpServletRequestWrapper.getMethod(HttpServletRequestWrapper.java:158)
    javax.servlet.http.HttpServletRequestWrapper.getMethod(HttpServletRequestWrapper.java:158)
    
       .
       .
       .
    
    javax.servlet.http.HttpServletRequestWrapper.getMethod(HttpServletRequestWrapper.java:158)javax.servlet.http.HttpServlet.service(HttpServlet.java:736)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    jshop.DispatcherServlet.gotoPage(DispatcherServlet.java:57)
    jshop.DispatcherServlet.doGet(DispatcherServlet.java:31)

  4. #4
    Originariamente inviato da trevor
    prova a togliere lo slash prima dell'asterisco
    Ciao grazie per la risposta veloce,
    ho appena provato (anche se mi pareva di aver già provato... non mi trova la pagina così!
    Ho visto tutti gli esempi su internet e fanno "/*"

  5. #5
    nessun'altra idea?

  6. #6
    ancora non risolvo! help me!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.