Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] org.eclipse.jetty.server.Request cannot be cast to org.eclipse.jetty.server.Request

Hi Simone,
Thanks for your help!

BTW, why org.eclipse.jetty.servlets.PushCacheFilter can use org.eclipse.jetty.server.Request directly?

2015-12-31 18:32 GMT+08:00 Simone Bordet <sbordet@xxxxxxxxxxx>:
Hi,

On Wed, Dec 30, 2015 at 1:03 PM, John Jiang <john.sha.jiang@xxxxxxxxx> wrote:
> Hi guys,
> I'm using Jetty-9.3.5.
> My web app includes a pretty simple Servlet, as shown as the below,
> public class ServerPushServlet extends HttpServlet {
>
>     protected void doGet(HttpServletRequest request,
>             HttpServletResponse response) throws ServletException,
> IOException {
>         System.out.println("request=" + request);
>         Request baseRequest = (Request) request;
>         System.out.println("baseRequest=" + baseRequest);
>     }
> }
>
> When I try to access this Servlet via browser, the output in console is the
> below,
> request=Request(GET //localhost:9020/push/primary)@63206451
> 2015-12-30 19:47:11.471:WARN:oejs.ServletHandler:qtp1104106489-15: /test
> java.lang.ClassCastException: org.eclipse.jetty.server.Request cannot be
> cast to org.eclipse.jetty.server.Request
>         at httptest.ServerPushServlet.doGet(ServerPushServlet.java:19)

The Servlet specification mandates that server implementation classes
must be hidden from webapps.
As such, you cannot use server classes in your webapp.

If you try to include the jetty-server-<version>.jar in your war, you
get the ClassCastException.
If you remove it from the war, you get a ClassNotFoundException
because the server hides it from the webapp.

If you really need to use Jetty's classes, your best bet is to avoid
webapps and their classloading, and just use Jetty's
ServletContextHandler which will allow you to deploy Servlets without
the classloading complications.

--
Simone Bordet
----
http://cometd.org
http://webtide.com
Developer advice, training, services and support
from the Jetty & CometD experts.
_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users


Back to the top