This might be useful to you too. https://github.com/jetty-project/embedded-jetty-websocket-examples
Its also important to know that WebSocket is a "GET with Upgrade to WebSocket". All other requests will be handled by non-websocket mechanisms. Do what you want. return 404, 500, show an error message, redirect to another service page somewhere else, respond with html + javascript to give browsers something to use to talk to you, etc... Totally up to you. Here's a bit more complex of an example. https://github.com/eclipse/jetty.project/tree/master/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/browser We use this to test out browser websocket support. namely changes to the spec and extensions. It starts a server, with 1 websocket endpoint, and on normal GET requests will return static content (html/css/js) from src/test/resources -- Joakim Erdfelt <[email protected]> webtide.com <http://www.webtide.com/> - intalio.com/jetty Expert advice, services and support from from the Jetty & CometD experts eclipse.org/jetty - cometd.org On Tue, Jul 29, 2014 at 8:04 AM, Padki, Anuradha <[email protected]> wrote: > Thanks so much, got rid of compilation error, it was due to eclipse > adding the servlet-api in the build path. > > So I am trying your minimal example now, but I do not understand what > should code is expected in the servlet. > > This is the code I am trying (as on the mailing lsit) > > Thanks you very much for your help. > > - Anu > > > > > > package com.example.minimal; > > > > import javax.websocket.OnMessage; > > import javax.websocket.Session; > > import javax.websocket.server.ServerEndpoint; > > > > import org.eclipse.jetty.server.Server; > > import org.eclipse.jetty.servlet.ServletContextHandler; > > import org.eclipse.jetty.servlet.ServletHolder; > > import org.eclipse.jetty.websocket.jsr356.server.ServerContainer; > > import > org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer; > > > > > > /** > > * Example of setting up a javax.websocket server with Jetty embedded > > */ > > public class WebSocketJsrServer > > { > > /** > > * A server socket endpoint > > */ > > @ServerEndpoint(value = "/echo") > > public static class EchoJsrSocket > > { > > @OnMessage > > public void onMessage(Session session, String message) > > { > > session.getAsyncRemote().sendText(message); > > } > > } > > > > public static void main(String[] args) throws Exception > > { > > Server server = new Server(8080); > > > > ServletContextHandler context = new > ServletContextHandler(ServletContextHandler.SESSIONS); > > context.setContextPath("/"); > > server.setHandler(context); > > > > // Add a servlet to your context. > > // It is required that you provide at least 1 servlet. > > // Recommended that this servlet merely provide a > > // "This is a websocket only server" style response to GET requests > > context.addServlet(new ServletHolder(new HelloServlet()),"/*"); > > > > // Enable javax.websocket configuration for the context > > ServerContainer wsContainer = > WebSocketServerContainerInitializer.configureContext(context); > > > > // Add your websockets to the container > > wsContainer.addEndpoint(EchoJsrSocket.class); > > > > server.start(); > > context.dumpStdErr(); // show the context details > > server.join(); > > } > > } > > > > > > > > > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Joakim Erdfelt > *Sent:* Tuesday, July 29, 2014 10:37 AM > > *To:* JETTY user mailing list > *Subject:* Re: [jetty-users] can someone please share jsr 356 example > with javascript > > > > The error ... > > > > class "javax.servlet.http.HttpSessionIdListener"'s signer information does > not match signer information of other classes in the same package > > > > means you have 2 (or more) jars with > javax.servlet.http.HttpSessionIdListener in it. > > one of those jars is signed, the other ones either don't have jar > signatures, or have different ones. > > http://docs.oracle.com/javase/tutorial/deployment/jar/intro.html > <https://urldefense.proofpoint.com/v1/url?u=http://docs.oracle.com/javase/tutorial/deployment/jar/intro.html&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=ShPCdrRUOJ7FllVBPHhAfQGCc9wkYLhC6CN3XKs5w6A%3D%0A&s=a697feeb642fdfbcaf514e05c63912bb4913fdf029a6fe4bbf1e5895a89af349> > > > > fix your classpath. > > > > It is very uncommon to mix jetty embedded *and* jetty.xml in the same > application. > > While it is possible, you'll essentially end up with what jetty-start > does, which is what the jetty-distribution is all about. > > > > > -- > > Joakim Erdfelt <[email protected]> > > webtide.com > <https://urldefense.proofpoint.com/v1/url?u=http://www.webtide.com/&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=ShPCdrRUOJ7FllVBPHhAfQGCc9wkYLhC6CN3XKs5w6A%3D%0A&s=eac59850c62bb51cb886faeb8711e171a8dd441b5df240ab728d655b69cc0935> > - > intalio.com/jetty > <https://urldefense.proofpoint.com/v1/url?u=http://intalio.com/jetty&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=ShPCdrRUOJ7FllVBPHhAfQGCc9wkYLhC6CN3XKs5w6A%3D%0A&s=3374d528351a60eb660b81b21ed28030717b961c6919e151fecb09809677b871> > > Expert advice, services and support from from the Jetty & CometD experts > > eclipse.org/jetty > <https://urldefense.proofpoint.com/v1/url?u=http://eclipse.org/jetty/&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=ShPCdrRUOJ7FllVBPHhAfQGCc9wkYLhC6CN3XKs5w6A%3D%0A&s=79f4be2eafe0a3672a83e30137f68d0b3b3c11e4b1fc26557ae238c94b73445e> > - cometd.org > <https://urldefense.proofpoint.com/v1/url?u=http://cometd.org/&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=ShPCdrRUOJ7FllVBPHhAfQGCc9wkYLhC6CN3XKs5w6A%3D%0A&s=16d71e203fb214d72c2fa41ca0266b1ee818e1e47825fc6b76e46b05fe0de2a1> > > > > On Tue, Jul 29, 2014 at 6:52 AM, Padki, Anuradha <[email protected]> > wrote: > > Thanks so very much, I am trying some examples from internet (or from > user-group) but I can’t even get those compiled. > > I am trying the minimal example you mentioned on the mailing list. My goal > is to get *embedded* jetty working (preferably with jetty.xml, I could > get a hello servlet working with jetty.xml on 9.1; the trouble starts with > websocketservlets, however right now I am only trying to get minimal > websocket working) > > BTW checked the jars, I have same jars as from your email. > > Now for your minimal code I am totally stuck at > > class "javax.servlet.http.HttpSessionIdListener"'s signer information does > not match signer information of other classes in the same package > > > > I so very much appreciate your help, but I don’t want to bother you a lot, > is there a very good example for the 9.1 jsr 356 *embedded* jetty with > any html/javascript code? > > I will like to try that. > > > > Regards and thanks a bunch. > > - Anu > > > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Joakim Erdfelt > *Sent:* Tuesday, July 29, 2014 9:31 AM > > > *To:* JETTY user mailing list > *Subject:* Re: [jetty-users] can someone please share jsr 356 example > with javascript > > > > Jetty 9.1.4 has JSR-356 support. > > > > $ ls -la jetty-distribution-9.1.4.v20140401/lib/websocket/ > > total 540 > > drwxrwxr-x. 2 joakim joakim 4096 Apr 7 09:51 . > > drwxrwxr-x. 12 joakim joakim 4096 Apr 7 09:51 .. > > -rw-rw-r--. 1 joakim joakim 36611 Apr 2 10:14 > javax.websocket-api-1.0.jar <!-- the official JSR-356 API Jar --> > > -rw-rw-r--. 1 joakim joakim 156243 Apr 2 10:14 > javax-websocket-client-impl-9.1.4.v20140401.jar <!-- the javax.websocket > implementation by jetty --> > > -rw-rw-r--. 1 joakim joakim 36802 Apr 2 10:14 > javax-websocket-server-impl-9.1.4.v20140401.jar <!-- the > javax.websocket.server implementation by jetty --> > > -rw-rw-r--. 1 joakim joakim 43680 Apr 2 10:14 > websocket-api-9.1.4.v20140401.jar > > -rw-rw-r--. 1 joakim joakim 35188 Apr 2 10:14 > websocket-client-9.1.4.v20140401.jar > > -rw-rw-r--. 1 joakim joakim 170297 Apr 2 10:14 > websocket-common-9.1.4.v20140401.jar > > -rw-rw-r--. 1 joakim joakim 35774 Apr 2 10:14 > websocket-server-9.1.4.v20140401.jar > > -rw-rw-r--. 1 joakim joakim 17923 Apr 2 10:14 > websocket-servlet-9.1.4.v20140401.jar > > > > If it isn't working for you, can you give some details on your attempts? > > Things like: > > * your ${jetty.base} configurations (if using the distribution) > > * your webapp context deployable xml (if you are using xml based deploys) > > * your server.dump() output (if using embedded mode) > > * your code on attempting to access JSR-356 (in your webapp) > > > -- > > Joakim Erdfelt <[email protected]> > > webtide.com > <https://urldefense.proofpoint.com/v1/url?u=http://www.webtide.com/&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=91lVtNAOKQ2L5AxDkmk4u%2BWKXuAehwhs8qI%2Fl8KqPHI%3D%0A&s=c0d3ee44b58492dbc3ac3c7741016230d622798d3405aa3c9e6ae82eb2823299> > - > intalio.com/jetty > <https://urldefense.proofpoint.com/v1/url?u=http://intalio.com/jetty&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=91lVtNAOKQ2L5AxDkmk4u%2BWKXuAehwhs8qI%2Fl8KqPHI%3D%0A&s=61da84b926414beae873fa8c34633676f923e2f0c7300fb515d00404934171c3> > > Expert advice, services and support from from the Jetty & CometD experts > > eclipse.org/jetty > <https://urldefense.proofpoint.com/v1/url?u=http://eclipse.org/jetty/&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=91lVtNAOKQ2L5AxDkmk4u%2BWKXuAehwhs8qI%2Fl8KqPHI%3D%0A&s=b7302ab14d0e17b7158af6abb3651889757bdfad8907d59573151c6a18f23055> > - cometd.org > <https://urldefense.proofpoint.com/v1/url?u=http://cometd.org/&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=91lVtNAOKQ2L5AxDkmk4u%2BWKXuAehwhs8qI%2Fl8KqPHI%3D%0A&s=d57eb44036408e3901678e9003c8495d844a1ab6ac4957afae6c1e4c8c4c83b3> > > > > On Tue, Jul 29, 2014 at 6:23 AM, Padki, Anuradha <[email protected]> > wrote: > > Thanks for the response Joakim > > I am sorry I did not phrase it right: I got websocket working on 8 (not > jsr 356) and I am trying to get jsr 356 working on 9.1.4, so it will work > only on 9.2 , is that correct? > > Then > > > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Joakim Erdfelt > *Sent:* Tuesday, July 29, 2014 9:21 AM > *To:* JETTY user mailing list > *Subject:* Re: [jetty-users] can someone please share jsr 356 example > with javascript > > > > JSR356 is available on Jetty 9.2 and newer. > > It is not available on Jetty 8. > > > -- > > Joakim Erdfelt <[email protected]> > > webtide.com > <https://urldefense.proofpoint.com/v1/url?u=http://www.webtide.com/&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=T%2Fig6s7L%2Fmq8rsEH7iy0nGpRHQlYa9CsGqa%2B9dape2k%3D%0A&s=4060508628122a154e708f8f49fb9ff70ccd8c40f29d3875ec7941c7f7b3ad6d> > - > intalio.com/jetty > <https://urldefense.proofpoint.com/v1/url?u=http://intalio.com/jetty&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=T%2Fig6s7L%2Fmq8rsEH7iy0nGpRHQlYa9CsGqa%2B9dape2k%3D%0A&s=b9e50abaf30a1a5f6a225349c7147de6d580979ff6aaa71b737a2571b951755c> > > Expert advice, services and support from from the Jetty & CometD experts > > eclipse.org/jetty > <https://urldefense.proofpoint.com/v1/url?u=http://eclipse.org/jetty/&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=T%2Fig6s7L%2Fmq8rsEH7iy0nGpRHQlYa9CsGqa%2B9dape2k%3D%0A&s=6faf792e7b0ba333b08fecb38c14b5147a96d4769bcd410900197074003e125b> > - cometd.org > <https://urldefense.proofpoint.com/v1/url?u=http://cometd.org/&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=T%2Fig6s7L%2Fmq8rsEH7iy0nGpRHQlYa9CsGqa%2B9dape2k%3D%0A&s=854bc35a09e4cd5fad0b843542b81d5ca514416769014a4664ae900851cd6812> > > > > On Tue, Jul 29, 2014 at 5:47 AM, Padki, Anuradha <[email protected]> > wrote: > > I am new to Jetty, I could get jetty 8 websocket working, but am > struggling with getting jsr 356 working. > > I tried many example codes but no luck, can somebody please share a simple > sample of code with jsr356 with javascript? > > Any help is greatly appreciated. > > - Anu > > > _______________________________________________ > jetty-users mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/jetty-users > <https://urldefense.proofpoint.com/v1/url?u=https://dev.eclipse.org/mailman/listinfo/jetty-users&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=T%2Fig6s7L%2Fmq8rsEH7iy0nGpRHQlYa9CsGqa%2B9dape2k%3D%0A&s=959fbeee67682ebcc60aae6d8080cdedf1f52323ebe2d40dadb92e7e537649b5> > > > > > _______________________________________________ > jetty-users mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/jetty-users > <https://urldefense.proofpoint.com/v1/url?u=https://dev.eclipse.org/mailman/listinfo/jetty-users&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=91lVtNAOKQ2L5AxDkmk4u%2BWKXuAehwhs8qI%2Fl8KqPHI%3D%0A&s=7237d9cfba8c52e884ecae2394e81a82d9460bf81863036ac2538818ddc87533> > > > > > _______________________________________________ > jetty-users mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/jetty-users > <https://urldefense.proofpoint.com/v1/url?u=https://dev.eclipse.org/mailman/listinfo/jetty-users&k=wdHsQuqY0Mqq1fNjZGIYnA%3D%3D%0A&r=4KNgn7IIPPl%2FiXDqTbxNPRf1lg2QQE5WxGK6NVGDZ5E%3D%0A&m=ShPCdrRUOJ7FllVBPHhAfQGCc9wkYLhC6CN3XKs5w6A%3D%0A&s=c00fa244f5235ae8601edf5961d2d71efa0be1de0d65e49d6835fc9e99970d8e> > > > > _______________________________________________ > jetty-users mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/jetty-users
