Matt RaibleMatt Raible is a writer with a passion for software. 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.

JSTL and Dreamweaver has JSP Tag Completion

I discovered today that there is are new releases of the JSP Standard Tag Library over at Jakarta's Taglibs project. JSTL 1.0 has a Standard 1.0.4 release from September 25th, and there's also an early access 1.1 release (for Servlet 2.4/JSP 2.0). If you're doing JSP development and you're not using JSTL, you'd better start - these tags are huge timesavers and are fairly easy to learn (especially if you know JavaScript).

I also discovered a nice feature in Dreamweaver 2004 - Tag Library code completion. I believe Dreamweaver MX (v6.0) had this as well, but I never use DW on a PC (it's too slow). Now that I'm giving a go at using OS X all the time, I need to use DW so I can get an explorer-like window (BBEdit doesn't seem to have this). It's pretty slick - you just import the .tld or .jar and whalla - you've got tag library code completion. The one downside is that it does not support importing multiple libraries from one JAR file (i.e. Struts or JSTL), so you do have to import the .tld files (selecting all .tld files in a directory works). It might actually be worth the $400 if I keep developing on a Mac. I don't know about IDEA - I started using Eclipse today after using IDEA for the past week and it felt like I was home again.

Lastly, iBatis has a new release. I upgraded from 1.2.7b to 1.2.8 in my current project and all our tests ran without a hitch. Gotta love unit tests.

Posted in Java at Oct 16 2003, 05:19:39 PM MDT 4 Comments

New RAM has Arrived!

There's nothing like receiving 512 MB of new RAM and then not being able to install it because you can't find a screwdriver small enough to unscrew the bottom of your PowerBook! My advice - buy the screwdriver before you buy the RAM.

Posted in Mac OS X at Oct 16 2003, 08:55:56 AM MDT 3 Comments

HowTo: Integrate Apache and Resin

From a comment that an anonymous use left: Resin with Apache on Unix. I have used Tomcat for this site for over a year, and the last two projects I've worked on used Tomcat in production. However, James Duncan Davidson indicated that Tomcat was really never meant for production, and it never hurts to broaden one's horizons. I doubt I'll use Resin on this site, but I might recommend it to my next client (if I can get up to speed fast enough).

Why don't I just use Resin's built-in HTTP Server? Because I like Apache's virtual hosting feature and it's #1 for a reason, right?

Posted in Java at Oct 15 2003, 10:17:10 PM MDT 1 Comment

512 MB is not enough for Java Development

At least not on my PowerBook (1.33 GHz) - good thing another 512 is on the way!

Load Avg:  0.98, 0.98, 0.98     CPU usage:  20.9% user, 17.8% sys, 61.2% idle                       
SharedLibs: num =   81, resident = 18.4M code, 1.27M data, 2.78M LinkEdit                           
MemRegions: num = 11097, resident =  295M + 4.59M private,  116M shared                             
PhysMem:  63.3M wired,  291M active,  149M inactive,  504M used, 8.28M free

Posted in Mac OS X at Oct 15 2003, 01:35:53 PM MDT 3 Comments

Why 17" Rules

Dual Monitors at Work!

Dual Monitors at Work!

Posted in General at Oct 15 2003, 12:51:06 PM MDT 3 Comments

JSP Navigation Systems

As you might already know, I am a committer on the Struts Menu project at SourceForge. Struts Menu is basically just a JSP Tag Library that allows you to configure a navigation system for your webapp from an XML file. Here is a demo. Here are similar menu tag libraries I found:

I also remember seeing one on weblogs.java.net, but their search feature sucks and I can't seem to find it (could be operator error).

Please let me know of any others you know of - or menus you'd like to see incorporated into Struts Menu. The current CVS version (module == navigator) allows for specifying the Menu attributes in XML and the HTML for the menu using Velocity templates (as well as some built-in displayers). Personally, I'm thinking of adding a couple from WebFX: XTree and XMenu. With the new Velocity support, it should be simple to add these. If it's possible with HTML, JavaScript and CSS - it's possible with Struts Menu!

Posted in Java at Oct 15 2003, 05:39:15 AM MDT 4 Comments

Camino now supports Twisty Comments!

I've been using Safari as my primary web browser since I bought my new PowerBook. This evening I decided to try a nightly build of Camino and see how things are coming along. I was delighted to find out that my twisty comments now work in Camino (not so in Safari).

Camino's nightly build does have some issues though - both are things that used to work just fine on this site. One is that the search input field has a purple background (matching it's containing <div>). The second quirk is that the textarea box in Roller's Weblog -> Edit page is shifted to the right - seems something is amiss with floats (it's to the right of my "Validate as XML" checkbox). Even with these little quirks, it's still a great browser.

Posted in The Web at Oct 14 2003, 08:03:37 PM MDT Add a Comment

Skinning your applications and Apache+Tomcat on RH9

Here are a couple of links I found on mailing lists that might be of use:

  • Xkins: Xkins framework uses Velocity to process snippets of HTML, but you can use any other template processor (Xkins comes with it's own default processor). Xkins also comes with Forms Tag Libs, that allows you to create forms using Xkins and comes with four Skins. Xkins Forms integrates with Struts framework. Xkins also fits perfect in JSF world, playing a role as a RenderKit, and can work with other presentation frameworks, (i.e. struts-layout).I'll stick with simple XHTML and CSS. If I need different layouts (HTML), I'll use a different base tile.
  • John Turner has published a Tomcat 4.1.27 + Apache 2.0.47 HowTo. This is similar to mine, but looks much cleaner and to the point.

Later: I discovered the beauty of John's HowTo this evening. It allows you to specify one measly line in Apache's httpd.conf file and only a few lines in Tomcat's server.xml file and viola Tomcat configures itself! It sets up aliases and such for each webapp that you have deployed. As an example, here's dynamically created section for AppFuse:

#################### localhost:/appfuse ####################                                       
                                                                                                       
# Static files                                                                                     
Alias /appfuse "/opt/dev/tools/jakarta-tomcat-4.1.27/webapps/appfuse"                              
                                                                                                       
<Directory "/opt/dev/tools/jakarta-tomcat-4.1.27/webapps/appfuse">                         
    Options Indexes FollowSymLinks                                                                 
    DirectoryIndex index.jsp                                                                       
</Directory>                                                                                  

# Deny direct access to WEB-INF and META-INF                                                       
#                                                                                                  
<Location "/appfuse/WEB-INF/*">                                                                 
    AllowOverride None                                                                             
    deny from all                                                                                  
</Location>                                                                                 
                                                                                                       
<Location "/appfuse/META-INF/*">                                                              
    AllowOverride None                                                                             
    deny from all                                                                                  
</Location>                                                                                   
                                                                                                       
JkMount /appfuse/j_security_check  ajp13                                                           
JkMount /appfuse/auth/*  ajp13                                                                     
JkMount /appfuse/register/*  ajp13                                                                 
JkMount /appfuse/passwordHint/*  ajp13                                                             
JkMount /appfuse/*.do  ajp13                                                                       
JkMount /appfuse/*.jsp  ajp13                                  

I had all of this working great - I even had Apache upgraded to 2.0.47 on OS X (serving localhost/~user files and everything)! And then I rebooted... Now in catalina.out, I'm getting the following - ugh...

BAD packet 256                                                                                      
In: : [B@c283b5 4/843                                                                               
01 00 03 47 00 00 00 00 00 00 00 00 00 00 00 00  | ...G............                                 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................ 

WTF?!

Solved: I got this solved fairly easily. I had modified /usr/sbin/apachectl so that the HTTPD variable pointed to /usr/local/apache2/bin/httpd rather than /usr/sbin/httpd. I fixed it by removing /usr/bin/apachectl and executing "ln -s /usr/local/apache2/bin/apachectl /usr/sbin/apachectl". Now if I could only get the Rendezvous mod working on 2.0.x.

Posted in Java at Oct 14 2003, 08:09:07 AM MDT 2 Comments

OS X Rocks, but it sucks too

OS X is awesome ~ it's beautiful to look at and it's based on Unix. What more could you ask for? Windows XP looks good, RedHat 9 doesn't. Windows XP with Cygwin is almost tollerable, but you still have to type "cd c:" when you want to change drives. What bugs me about OS X is simple *nix things don't work on it. Integrating Apache + Tomcat is a 5 minute job on WinXP and RH 9, but I've spent the at least 10 hours trying to do it on OS X with no luck. I could post the errors here, but what good would it do? This kind of stuff just works on RH 9 and WinXP. Therefore, OS X sucks!

What am I ranting for? No reason really - it just sucks that I've spent so much time trying to do something that still doesn't work. This HowTo didn't help either (building from source had errors, no binary of Apache available). I guess this is all due to the fact that OS X has a 1% (maybe 2%) market share among developers?

Posted in Mac OS X at Oct 12 2003, 06:54:12 PM MDT 13 Comments

Comments are broken

Comments are broken on this site, I don't know why, but I'll turn them off until I fix them to curb your desires...

Update: Comments are fixed now - I was missing mail.jar and activation.jar from $CATALINA_HOME/common/lib. In other news, I think I discovered why this site is crashing. I'm only allowed to have a max of 20 MySQL connections from my ISP, and it appears that when you leave a comment, it opens a new database connection and doesn't close it (at least with twisty comments). Suffice to say, if you want to crash this site, leave a bunch of comments. ;-)

Posted in Roller at Oct 12 2003, 09:34:30 AM MDT Add a Comment