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.

Matt on Google

Matt Croydon (yeah, I can't spell your last name either ;-) is the 45th Matt on Google. I'm at #213, hopefully all the Matt's in this post will boost my rankings. BTW, did you know you can adjust your preferences in Google to show more than just 10 records per page? Kinda handy for silly searches like this.

Posted in The Web at Dec 10 2002, 05:41:51 PM MST Add a Comment

IDEA vs. Eclipse

I've been switching back and forth between IDEA and Eclipse for the past couple nights. I DO like IDEA, but as I only have 3 days left on my evaluation, I'll sadly have to let it go. My favorite feature is it's ability to recognize that you haven't imported a class, and then allows you to hit Alt+Enter to add the import. Also, it grays out imports that aren't being used, both very slick features. As for generating getters and setters, it does a poor job in my opinion. It puts them above your variable declaration and doesn't add any javadoc comments. Eclipse puts them at the bottom of your class and adds javadoc comments - so Eclipse wins here. Also, Eclipse does a much better job of adding and recognizing javadoc comments. IDEA wins on indentation, it always seems to know where you want to be. If I get a full time gig here soon, I might have to buy IDEA. I think it's best when you can use multiple tools to make your development life easier. I say screw these debates on Eclipse vs. IDEA or Struts vs. Webwork - use them all! (I need to examine Webwork as it gets lots of good comments from it's developers.) Of course, it's easier to use both when you have a dual-monitor setup! I highly recommend this... it's awesome!

Later: The other thing that IDEA wins on is that it can actually run my Ant script without puking. Eclipse doesn't let me run it - maybe it's cause it has Ant 1.4.1. Hmmm, wonder if I can upgrade it to 1.5.1. IDEA has better XML editing, and even seems to detect errors in build.xml.

As I'm editing this post with the Later paragraph, I received the following from Cédric (who seems to work for BEA from his e-mail address).

You didn't say if you already knew this about Eclipse, so I thought I would tell you anyway:

- To fix a missing import, just press Ctrl-1 (Quick Fix) on the class with squiggly lines. Ctrl-1 does a lot of incredible things, like it sometimes reads your mind. I much prefer this approach to having specific actions and shortcuts to remember. Another interesting one is Ctrl-Shift-O (Organize Imports), when you have a lot of imports to fix. Eclipse will analyze your whole source and add them all for you (and possibly prompt your when there are ambiguities).

- The latest builds underline the unused imports with yellow squiggly lines.

-- Cédric http://beust.com/weblog

Sweet! Must be time to download a nightly build!

Posted in General at Dec 10 2002, 10:35:41 AM MST 4 Comments

Forcing SSL on a JSP

I'm trying to replicate the behavior that occurs when you set CONFIDENTIAL to confidential in web.xml. If I do this, when I hit the index.jsp page of my webapp, I am automatically redirected to https://localhost/myappname. However, I have a different SSL port setup for testing, and I'd like to only switch on one page, the index.jsp page. So I've added the following scriplet to my index.jsp and it works great in Mozilla, but fails in IE. IE prompts me with the certificate information, and then gives a "Cannot Find Server" error. Any ideas?

<%
// TODO: Make this into a tag library
Boolean secureLogin = (Boolean)application.getAttribute(Constants.SECURE_LOGIN);
System.out.println("secureLogin: " + secureLogin);
if (secureLogin.booleanValue()) {
    // make sure we're using https
    if (request.getScheme().equals("http")) {
        String redirectString = SslUtil.getRedirectString(request,
                                                          application,
                                                          true);
        
        System.out.println("redirecting to: " + response.encodeRedirectURL(redirectString)); 
        %>
        <logic:redirect href="<%=response.encodeRedirectURL(redirectString)%>"/>                                                    
        <%
    }
}
%>

Everything looks the same in Tomcat's log when using either browser.

Posted in Java at Dec 10 2002, 10:10:25 AM MST Add a Comment

XML Encryption/Decryption

Erik gives us the heads up on a new W3C Proposal: an XML Encryption, Decription Standards. Just after I finished my first draft of my chapter on Security!! Arghh! Oh well, I'm sure there will be a 2nd and 3rd draft. I'll have to read this article and see if it's relevant. The first draft was due Sunday, I turned it in yesterday. It is supposed to include a sample application, and I'm still working on it.

I was up until 5 a.m. this morning working on it. I got Hibernate working nicely, and I can generate my Hibernate persistence layer and my Struts (validator) forms using xdoclet. Cool stuff, I did have to write the business tier to talk to hibernate, and I did have to write a Hibernate class (DAO) to talk to the persistence layer. Not as easy and clean as I'd hoped for, but now that the groundwork is laid, it'll probably be easier to move forward. It's pretty sweet that I can add a getter/setter to my POJO (actually it's an entity bean since that's the only way to generate struts forms using xdoclet) and I get a new column in the database and in both my VO (hibernate uses this) and my Form.

Posted in Java at Dec 10 2002, 09:14:51 AM MST Add a Comment

Caching for Struts

An interesting new extension came through the struts-dev mailing list today. It's called the "neteye actioncache" and is an extension that provides a simple but powerful caching facility for struts. It's features as are:

  • Caching of binary and character data
  • Support for URL based session tracking
  • Allows to use multiple actions on a single page
  • LRU caching policy
  • Persistence

Pretty cool - don't know if I'll ever need it, but nice to know it exists. More information can be found at http://actioncache.neteye.de.

Posted in Java at Dec 10 2002, 08:40:04 AM MST Add a Comment