<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>4GoodHosting Blog</provider_name><provider_url>https://4goodhosting.com/blog</provider_url><author_name>4GHadmin</author_name><author_url>https://4goodhosting.com/blog/author/4goodhosting/</author_url><title>7 Recommended Java Web Frameworks for 2018 - 4GoodHosting Blog</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="7GEopAH4eY"&gt;&lt;a href="https://4goodhosting.com/blog/7-recommended-java-web-frameworks-2018/"&gt;7 Recommended Java Web Frameworks for 2018&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://4goodhosting.com/blog/7-recommended-java-web-frameworks-2018/embed/#?secret=7GEopAH4eY" width="600" height="338" title="&#x201C;7 Recommended Java Web Frameworks for 2018&#x201D; &#x2014; 4GoodHosting Blog" data-secret="7GEopAH4eY" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;
/* &lt;![CDATA[ */
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
//# sourceURL=https://4goodhosting.com/blog/wp-includes/js/wp-embed.min.js
/* ]]&gt; */
&lt;/script&gt;
</html><description>As we move into 2018, web app frameworks continue be the figurative utility knives for web developers, buoyed in large part by the fact that ever increasing facets of our lives are tied into the digital world and we need devices and apps that allow us to manage them effectively. They are essential for the development of different web applications like web resources, web APIs, and web services, and can serve to relieve some the extraneous tasks by &#x2013; among other benefits &#x2013; promoting the reuse of code, a HUGE plus for developers for whom time is a precious commodity. Here at 4GoodHosting, we&#x2019;re a leading Canadian web hosting provider who &#x2013; not surprisingly &#x2013; strives to have our thumb on the pulse on trends in the web development world given the fact a great many of our customers are also the ones getting their hardhat on when it comes to building and maintaining websites. Java continues to be one of &#x2013; if not the &#x2013; construction platforms of choice for web development, and we thought it would be helpful to this week have a look at some of the better Java web frameworks that are ideally lined up with [&hellip;]</description><thumbnail_url>https://4goodhosting.com/blog/wp-content/uploads/2017/04/AdobeStock_23887318.jpeg</thumbnail_url><thumbnail_width>3000</thumbnail_width><thumbnail_height>1816</thumbnail_height></oembed>
