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.
You searched this site for "java". 1,588 entries found.

You can also try this same search on Google.

Stop Tomcat from persisting sessions

I can't seem to find the blog post about how to disable Session persistence for a given <Context>. Anyone got a link?

Posted in Java at Dec 18 2003, 09:49:38 PM MST 2 Comments

[ANNOUNCE] Ant 1.6 Released!

Big news baby - the best Java tool in the world has a new release. I don't know that I'll use any of the new features (such as antlib, macrodef, presetdef, ssh tasks), but I do love to upgrade. Downloading now...

Later: It looks like Canoo's WebTest is not compatible with Ant 1.6. Reverting back to 1.5.4.

C:\Source\appfuse\test\web\web-tests.xml:29: Task must be of type "Step": invoke at 
C:\Source\appfuse\test\web\login.xml:1:  is of type org.apache.tools.ant.UnknownElement

Line 29 is: <canoo name="login">. I've notified the webtest mailing list, hopefully there will be a resolution shortly.

Posted in Java at Dec 18 2003, 08:17:01 PM MST 3 Comments

Interested in Java ISP Options

I'm not exactly looking for a new ISP, but I am interested in exploring my options. I'm currently averaging about 10 GB of bandwidth usage per month, and it's unlikely to go down. I only pay around $50/month, so it's not bad, but I wouldn't mind some more RAM. I don't want to administer the server per say - I'd like backups and e-mail setup/config done for me. I don't think I want my own server b/c I don't want to be a sysadmin - I only want to worry about the Java server setup. Below is my ideal setup - please let me know if you think there's other things I should be looking for.

  • Linux
  • 512 MB RAM
  • 1 GB disk space
  • A Fat Pipe (100 MB+)
  • 25-50 GB traffic
  • Tomcat or Resin (Servlet 2.3 and JSP 1.2 at a minimum)
  • MySQL databases (2-5)

Posted in Java at Dec 18 2003, 02:09:30 PM MST 12 Comments

Struts 2.0

There's a flurry of e-mails about Struts 2.0 dancing around on the Struts Developers Mailing List. Looking at the Overview or the ReadMe, you can see that there's some major (revolutionary) changes being discussed. The Struts Bandwagon is alive and well. The proposal is called Jericho (since it tries to tear-down the walls within the Struts architecture) and proposes to open-up Struts by:

  • Declaring interfaces for all core components.
  • Providing working base implementations for all core components.
  • Encapsulating alll path references within "Location" objects (fka ActionForwards) and referring only to Locations from all other objects.
  • Providing additional extension points from core components so that the "Inversion of Control" pattern is fully realized. (e.g., a populate method for the FormHandler.)
  • Providing "POJO" signatures that encapsulate servlet/portlet behavior so that applications can be freed of servlet/portlet semantics, if so desired. This strategy would also be applied to optional packages like Validator and Tiles.
  • Retain optional access to servlet/portlet objects so that applications can be free to do whatever they need to do.

Also under consideration - adding Struts Menu to the core. Good stuff my friends, good stuff.

Also noticed on the mailing list - Tomcat is not the Servlet/JSP reference implementation (news to me):

There is a (mis)conception, for example, that Tomcat is the RI for the servlet and JSP APIs. That is not the case -- the official RI is the "J2EE SDK" available at http://java.sun.com/j2ee/1.4/download-dr.html. It happens to *include* code from Tomcat, but this is the real RI.

Posted in Java at Dec 18 2003, 11:24:32 AM MST 4 Comments

Hibernate's AdminApp - a demo of WW2 and Hibernate

After looking at Hibernate's AdminApp, as well as other WW2 apps - I've noticed something. WW2 developers don't seem to give a rats ass about referencing their POJOs in their Actions, or using Hibernate directly in their actions. At first glance, I think to myself, "boy that sure makes things easier." But then again - doesn't that tightly couple your web layer to your persistence layer?

I can understand the POJO reference in Actions - I'm about to give up on doing a parent/child relationship with Hibernate where the children are converted to ActionForms and then converted back (Hibernate loves to tell me "a different object with the same identifier value was already associated with the session: 1").

It would be SO much easier (with this particular problem) if I could just toss up POJOs to my view. The thought of importing "persistence.User" into my Action makes me cringe though. I don't know why, it just does. I need to get out of this patterns mindset I've been in for the last couple of years and get back to what really matters - simple, easy to learn, and fast to develop. I'm tired of banging my head against the wall with Struts and Hibernate.... I've been doing it for two days. It's not Hibernate, and it's not Struts, it's me... (thud, thud, thud).

Posted in Java at Dec 17 2003, 02:35:09 PM MST 15 Comments

Eclipse Plugins on OS X and 3.0 M5

I did a bit of tinkering yesterday and today and finally got the Colorer plugin to work on OS X. From the Colorer Forums, you can now see how to build the colorer plugin for OS X and how to get the plugin working with Eclipse M5. I also discovered that the Lomboz plugin now supports M5 too (even on OS X!).

So, you ask, "What happened to using IDEA?" I do use it, but not as much as Eclipse. The main problem I have with IDEA is that I can't have more than one project open at a time. I typically copy code from AppFuse and it's just easier in Eclipse - I can even copy a whole class and it renames the package for me. And now that I've discovered the Ant View in Eclipse, they're pretty much equal to me. Another reason for targeting Eclipse is there's more users. Most of the folks that download AppFuse use Eclipse - so being aligned with the my "users" (all 6 of them) makes things much easier.

Posted in Java at Dec 17 2003, 08:33:07 AM MST 3 Comments

Hibernate 2.1.1 Released

Looks like some issues exist with Hibernate 2.1, so the Hibernate team has released 2.1.1.

Version 2.1.1 fixes some minor hiccups relating to the upgrade to CGLIB2 and adds some new features including caching for native SQL queries and simpler <any> mappings. [Download Zip]

All unit tests pass...

Posted in Java at Dec 17 2003, 05:44:50 AM MST Add a Comment

Using Anthill with AppFuse

Want to use Anthill to automate your build/test/deploy process? Here's an easy way to do it with AppFuse.

Posted in Java at Dec 15 2003, 08:05:07 AM MST

AppFuse 1.1 Released!

This biggest feature in this release is Documentation. I finally found the time to write up some Tutorials on developing with AppFuse. They're on my wiki and also in the "docs" folder of the binary and source downloads. In writing this documentation, I went through almost all aspects of the code with a fine-tooth comb made sure it's doing what I want it to do (lots of improvements from this).

I was finally able to get things working with J2EE 1.4, which basically involved removing j2ee.jar from my MailUtil's classpath and just including activation.jar and mail.jar. If you're not there yet, simply change the paths for activation.jar and mail.jar in properties.xml (look for common.compile.classpath). You can use j2ee.jar instead of mail.jar and activation.jar with J2EE 1.3 and 1.4 B2.

I was also able to get all unit tests to pass on Tomcat 5, and the "setup-tomcat" target now supports Tomcat 5. I wasn't able to get "Remember Me" to work - see the tomcat-user mailing list for more details.

Included in this release are upgrades to Hibernate 2.1 Final and Display Tag 1.0 B2. For a complete changelog, view the README.txt in CVS.

For more information on AppFuse, check out the AppFuse Wiki Page or FAQ.

Posted in Java at Dec 12 2003, 02:32:25 PM MST

Export JSPWiki pages to HTML using Hula

This morning, I discovered Hula - a Java client API to the WikiRPCInterface. The nice feature I really like is that it allows you to export your wiki pages to static html. Here's how to set it up on your JSPWiki:

  • Uncomment the XML RPC servlet-mappings in web.xml.
  • Download Hula.
  • Rename hula.zip to hula.jar and put it into JSPWiki's WEB-INF/lib.
  • Copy apps/*.jsp to webapps/JSPWiki/.
You can use my trimmed down version if you like, it only has hula.jar and the JSPs.

Now I can write all my AppFuse documentation on the wiki and bundle it with the downloads - very nice.

Posted in Java at Dec 11 2003, 11:52:03 AM MST 3 Comments