Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Camino 0.7 Released

Camino™ (formerly Chimera) 0.7 is available for download. Along with the new name, Camino has a new history sidebar, a new download manager and a new text encoding menu. To learn more about what's new in Camino 0.7, check out the release notes

Damn, with all of these great standards-compliant browsers for OS X, I need a Bookmark Manager so I can share bookmarks between them all. Anyone know of one?

Posted in Mac OS X at Mar 06 2003, 11:52:07 PM MST 5 Comments

[ANNOUNCE] Struts-JavaServer Faces Integration Library -- Early Access Version Now Available

I'm happy to announce the immediate availability of an integration library
that allows you to use the recently published EA3 release of JavaServer
Faces with a recent Struts build (nightly build 20030216 or later, or 
the upcoming 1.1-rc2 or finalrelease).  Nightly builds of this package are 
available at:

 http://jakarta.apache.org/builds/jakarta-struts/nightly/struts-faces/

The sources for this package are in the  "contrib/struts-faces"
subdirectory of the  "jakarta-struts" CVS repository.

You should take note of the following important points:

* The design goal of this library was to allow Struts application
 developers to migrate the view tier of their applications from the
 existing Struts tags, to pages that use corresponding JavaServer Faces
 component tags, with no changes to the corresponding business logic.
 This goal has been substantially achieved for simple applications
 so far; additional work will be necessary for more advanced apps.
 As a proof of concept, the JavaServer Faces based version of the
 canonical  "struts-example" web application is included in the
 distribution, so that you can see for yourself how little had to be
 changed.

* The integration library has been tested under Tomcat 4.1.18 and
 the Java Web Services Developer Pack (version 1.0_01), although in
 principle it should run on any Servlet 2.3/JSP 1.2 container.
 (It will not run on Servlet 2.2/JSP 1.1 containers).

* There is a known issue when trying to run JavaServer Faces EA3
 under the recently released Java Web Services Developer Pack
 (version 1.1).  Watch the JavaServer Faces web page (at the URL
 listed above) for up-to-date information on workarounds.

* The JavaServer Faces distribution is an EA release, not suitable for
 use in production environments.  In addition, the license terms
 under which it can be downloaded prohibit redistribution.  Therefore,
 you will need to download your own copy of JavaServer Faces EA3 and
 integrate it with the example application before it can be deployed.

* The integration library should also be considered to be of alpha
 quality, not suitable for production use.  There are a set of known
 issues and limitations at the bottom of the README.txt file.  Please
 file bugs against this package in the usual Bugzilla location:

   http://nagoya.apache.org/bugzilla/

* For generic questions about JavaServer Faces (i.e. not related to this
 integration library), your best resource is the JavaServer Faces forum
 (free registration required) at:

   http://forum.java.sun.com/forum.jsp?forum=427

See the README.txt file in the top-level subdirectory for more information
about installing and using this release.

Craig McClanahan

Posted in Java at Mar 06 2003, 09:29:06 PM MST Add a Comment

Struts and JSF - Sample app is on its way!

Craig McClanahan just sent the following message to the struts-dev mailing list after creating a new struts-faces directory (and sub-directories in Struts' CVS tree.

Yep ... it's here ... the promised integration library that lets you use the recently published EA3 release of JavaServer Faces with a recent Struts 1.1 build (see the README.txt for details). Unfortunately, the CVS commit for the actual code was too big for the mailing list -- essentially, it's all the files in the "contrib/struts-faces" subdirectory.

My plan is to publish nightly builds of this code (it's EA quality) but *not* to incorporate it into any formal 1.1 release. More info in an announcement message to come shortly.

Craig

You and I both know the best way to learn JSF (and JSP 2.0) is to start using it on a project. Whether it's your own, an open source project, or a paid project - it's truly the fastest way to enlightenment. I was lucky in my quest to learn Hibernate - I had two concurrent projects (struts-resume and paid) using it.

As far as computers are concerned, I've had a pretty bad day. After writing a long e-mail (about as long as this post), I kicked back in my chair to hit send and kicked the power cord out of the socket! Doh! This actually happens about once a day, but usually I'm coding and testing and I'm saving every 30 seconds. Secondly, I had this post all written and formatted about 10 minutes ago, and Phoenix crashed when I switched tabs to copy/paste something. Damn thing - it's been crashing a lot lately. It might be time to revert back to IE (am now) or Mozilla.

Posted in Java at Mar 06 2003, 08:53:38 PM MST Add a Comment

How do you initialize Hibernate?

If you're using Hibernate in a servlet container, then you're probably using a hibernate.cfg.xml file to configure Hibernate and talk to your JNDI database connection. If you're not, you might want to consider it. My question is, where do you initialize Hibernate? In version 1.2.3, you call Hibernate.configure() to do this, and everything will startup and be ready - providing that hibernate.cfg.xml is in your classpath (WEB-INF/classes).

// Configure Hibernate.
try {
    Hibernate.configure();
    if (log.isDebugEnabled()) {
        log.debug("Hibernate configuration completed...");
    }
} catch (HibernateException h) {
    h.printStackTrace();
    throw new UnavailableException("Error configuring Hibernate: " + h.getMessage());
}

I've been using a StartupServlet that is set to load first, and is also responsible for putting drop-down options into the application scope. However, it has recently come to my attention that I could easily use a ServletContextListener and initialize it (and my drop-downs) in the contextInitialized() method.

So my question is - which is better? From what I can tell, they do the same thing and I've never had any issues with the StartupServlet. Can anyone offer some pros/cons to each approach? Which do you use?

Posted in Java at Mar 06 2003, 04:08:14 PM MST 6 Comments