{"id":12010,"date":"2016-11-22T08:59:23","date_gmt":"2016-11-22T07:59:23","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=12010"},"modified":"2016-11-22T09:04:09","modified_gmt":"2016-11-22T08:04:09","slug":"jetty-una-valida-alternativa-a-tomcat-e-jboss","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/jetty-una-valida-alternativa-a-tomcat-e-jboss\/","title":{"rendered":"Jetty: una valida alternativa a Tomcat e JBoss"},"content":{"rendered":"<p>Jetty \u00e8 un servlet container ed un web server che permette di eseguire le proprie <strong>applicazioni web in linguaggio Java<\/strong>. Jetty si \u00e8 guadagnato una certa fama grazie ad alcune sue caratteristiche molto significative:<\/p>\n<ol>\n<li>\u00e8 veloce, performante ed estremamente portabile;<\/li>\n<li>\u00e8 modulare e pu\u00f2 espitare al suo interno plugin per avere a disposizione nuove funzionalit\u00e0 anche di carattere sperimentale;<\/li>\n<li>pu\u00f2 essere utilizzato in modalit\u00e0 <em>embedded<\/em> in un&#8217;applicazione Java la quale pu\u00f2 dotarsi al momento del bisogno di un vero e proprio server web per distribuire servizi.<\/li>\n<\/ol>\n<p>Jetty pu\u00f2 essere scaricato nell&#8217;apposita <a href=\"https:\/\/www.eclipse.org\/jetty\/download.html\" target=\"_blank\">pagina dei download<\/a>\u00a0dal sito ufficiale eclipse, non richiede una vera e propria installazione, ma solo di essere scompattato e, ovviamente, un unico prerequisito: il <strong>linguaggio Java<\/strong> disponibile sulla macchina. All&#8217;interno della cartella che verr\u00e0 prodotta, troveremo un file archivio <em>start.jar<\/em> e potremo usarlo per avviare il server:<\/p>\n<pre class=\"lang:sh decode:true \">$ java -jar start.jar<\/pre>\n<p>Altro uso molto importante di Jetty \u00e8 quello di essere incluso in un progetto in forma <em>embedded<\/em> cosa che pu\u00f2 essere fatta molto rapidamente istituendo un progetto Maven che richieda le dipendenze jetty-server e jetty-servlet<em>.\u00a0<\/em>Sin dalle prime righe di codice del metodo main si potr\u00e0 avviare un servizio server in ricezione, come nello snippet seguente:<\/p>\n<pre class=\"lang:java decode:true\"> \r\npublic static void main(String[] args) throws Exception {\r\n  Server server = new Server(8888);\r\n  ServletContextHandler ch = new ServletContextHandler(server, \"\/miaservlet\");\r\n  ch.addServlet(MiaServlet.class, \"\/\");\r\n  server.start();\r\n}<\/pre>\n<p>La flessibilit\u00e0 e la potenza di Jetty hanno reso noto questo server alla gran parte degli sviluppatori ma per chi ancora pensasse che non esiste altro che Tomcat e JBoss questo articolo pu\u00f2 essere un invito a conoscerlo.<\/p>\n<p>Commentate e fateci sapere cosa ne pensate!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jetty \u00e8 un servlet container ed un web server che permette di eseguire le proprie applicazioni web&#8230;<\/p>\n","protected":false},"author":561,"featured_media":12568,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[481],"tags":[1526,1692,1693,1795,54],"class_list":["post-12010","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-risorse-utili","tag-java","tag-servlet","tag-servlet-container","tag-tomcat","tag-web-server"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/561"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=12010"}],"version-history":[{"count":7,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12010\/revisions"}],"predecessor-version":[{"id":12570,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12010\/revisions\/12570"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/12568"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=12010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=12010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=12010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}