February 24th, 2015 by
Matyas Danter
While migrating an e-commerce application (piqchocolates.com) from Grails and Tomcat to an AngularJS, Java EE (JAX-RS), and JBoss WildFly stack, I had to make sure that the new platform has feature parity in all areas that are valuable to our business. Search Engine Optimization (SEO) is crucial for us because we primarily market our business on-line. In short, we need search engine optimized URLs, and deep linking; this article will show you how to implement both.
January 16th, 2015 by
Lincoln Baxter III
Several years ago I wrote a tutorial about using Acegi/Spring Security with JavaServer Faces (JSF) to create a simple authentication / Login page; however, times have changed and Java EE is back in action. I would no longer consider Spring a “requirement” when building a Java EE application. More specifically, if you are using the core Contexts and Dependency Injection (CDI) framework that serves as the backbone for the entire Java EE framework, Spring Security becomes less attractive (because it’s not compatible without using Spring itself, and Spring is a replacement for CDI).
This article will explore how to create a JSF login backed by the standards-compliant CDI framework (that is included with Java EE), and the PicketLink security framework (an open-source project from JBoss). Examples for this article were sourced from the very comprehensive, and quite understandable quick-start application from the PicketLink project itself.
December 23rd, 2014 by
Lincoln Baxter III
Happy Holidays!
I am proud to announce the immediate availability of
OCPsoft PrettyTime 3.2.7.Final, the open-source social-style time formatting library for Java.
PrettyTime allows you to create human-readable timestamps such as “3 minutes ago” or “just now”, and is used in other open-source tools such as JBoss Tools, and JBoss Developer Studio.
Release Notes:
This release contains new translations for Turkamen (tk-TM) and translation spelling/grammar revisions for several other language bundles. Additionally, we have resolved an issue with precise time calculations that caused PrettyTime to print multiple instances of the same time unit when using custom time-unit configurations.
Get PrettyTime!
Enjoy, and happy holidays,
Lincoln and the OCPsoft team.
November 13th, 2013 by
Lincoln Baxter III
Today, I’d like to take a quick moment to demonstrate how to make a simple file server using [[Rewrite]], and any Servlet Container, such as Tomcat, Wildfly, or Jetty. This can enable much easier file updates for static content, such as preventing the need to re-deploy an entire application just to update an image, or document.
[[Rewrite]] is an open-source Routing ↑↓ and /url/{rewriting} solution for Servlet, Java Web Frameworks, and Java EE.
To start, you’ll need to include the Rewrite dependencies in your project. If you’re using maven, this is as simple as making sure your POM has the following entries (You’ll also need the Servlet API):
September 15th, 2013 by
Lincoln Baxter III
We are glad to announce the latest version of [[Rewrite]], servlet toolkit and URL-rewriting extensions. This release includes serveral bug fixes and enhancements:
Simplified Configuration
We heard you! It is now much easier to register ConfigurationProvider
objects. You can forget about creating a service file, and simply use the convenient @RewriteConfiguration
annotation:
import org.ocpsoft.logging.Logger.Level;
import org.ocpsoft.rewrite.annotation.RewriteConfiguration;
import org.ocpsoft.rewrite.config.Configuration;
import org.ocpsoft.rewrite.config.ConfigurationBuilder;
import org.ocpsoft.rewrite.config.Log;
import org.ocpsoft.rewrite.servlet.config.HttpConfigurationProvider;
@RewriteConfiguration
public class ApplicationConfigurationProvider extends HttpConfigurationProvider
{
@Override
public Configuration getConfiguration(ServletContext context)
{
return ConfigurationBuilder.begin()
.addRule()
.perform(Log.message(Log.message(Level.INFO, "Rewrite is active.")))
;
}
@Override
public int priority()
{
return 0;
}
}
Issues resolved
Upgrade to 2.0.7.Final
Read the installation guide, or configuration manual.
<dependency>
<groupId>org.ocpsoft.rewrite</groupId>
<artifactId>rewrite-servlet</artifactId>
<version>2.0.7.Final</version>
</dependency>
September 9th, 2013 by
Lincoln Baxter III
If you are looking for examples on how to use some of the new or improved features of Java EE 7, I highly recommend checking out this git repository from Arun Gupta.
https://github.com/arun-gupta/javaee7-samples
He has created over 160 samples that should work on every EE application server. If you find a bug, it’s likely a bug in the particular container you are using, but Arun is also welcoming feedback on these examples. So if there’s something you’d like to see that isn’t there, let him know. Additionally, if there’s something there that isn’t done right, speak up and he’ll fix it!
This is a great resource for the Java Enterprise Ecosystem 🙂
~Lincoln
May 4th, 2013 by
Daniel Sachse
Hi Java web-developers. I hope you are already familiar with [[PrettyFaces]]. If not, I will give you a very short introduction taken from the project documentation:
PrettyFaces is:
“The open-source /url/#{rewriting} solution for Servlet, JSF, and Java EE, including features such as: page-load actions, seamless integration with faces navigation, dynamic view-id assignment, managed parameter parsing, and configuration-free compatibility with other web frameworks.”
[[Rewrite]], on the other hand, is a URL-rewriting framework built for extendability, for use with any web-framework or pure Servlet itself, and is used for the core of PrettyFaces “4.0” – bringing the best of both worlds… so that sounds very cool thus far, but what do we want to achieve with it? Why would we use either of these frameworks?
February 25th, 2013 by
Matyas Danter
For all of you who are trying to figure out how to integrate with Google’s single sign-on functionality, this article might be for you. I’ve taken the liberty of condensing all of the actual logic required to perform OAuth Google login, and provided it as a class and a JSP (seen below). In order to follow along better, I suggest cloning the example GitHub repository, and deploying to the application to your server of choice.
October 8th, 2012 by
Team
Join Lincoln Baxter of OCPsoft and Kito Mann of Virtua, Inc. as they discuss several emerging projects in Java. The transcript and
MP3 can be found at
Virtua’s site. This podcast was recorded at JAXConf in San Francisco, 2012.
September 19th, 2012 by
Lincoln Baxter III
I was recently asked how to Inject a Java Enum into a bean constructor using CDI. This turns out to be a fairly interesting situation, because enums are not usually available for Injection.