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

You can also try this same search on Google.

RE: Wrox Going Under

Matt hopes for for Professional JSP 2.0:

[Larkware] A couple of weblogs have reported that Wrox is going under. Although at the moment this has to be classed as "credible rumor," it really doesn't surprise me, on two fronts. First, it seems to me that Wrox's strategy for the past year or so has been mainly "throw a lot of stuff at the wall and see what sticks."

I really really hope not. I was looking forward to Professional JSP 2.0...

Yeah, I was really looking forward to this book - my first time being published, busting my hump to write just after having a new daughter, among other things. It just sucks. It doesn't really suck for me, it really sucks for the people that actually worked for Wrox. As for Professional JSP 2.0, who the heck knows what'll happen. I really hope it gets published. I also hope to get paid for writing, but that'll probably never happen. If they don't publish it, they probably don't have to pay the authors. I think the book is done though, maybe we can talk them into publishing it... Let's get a petition going!

Or maybe I'll just sell my chapters on eBay.

Posted in Java at Mar 15 2003, 10:00:20 AM MST 3 Comments

Struts Training: Week 3

I just signed in for 3rd week here in Struts Training. I'm coming to you live from Chelan, WA. So on with what Ted has to say.

Ted's talking about persistence in Struts: Transaction Script vs. Domain Model.

Transaction Script - organizes business logic by procedure. Great choice for small applications with simple logic. For example, online auction, public search engine or an address book.

Domain Model - an object model of the domain. Has a rich variety of objects that incorporate both data and behavior. Ted mentions that the Domain Model is better for larger applications. For example, managing inventory for an online auction might require using the domain model.

What Ted is doing is using the Domain Model to separate Struts from his Actions - so that he passes around a DomainRequest, DomainResponse, and gets his form from a factory. To me, this looks like a good way to make your Struts layer a lot more complicated! ;-) At the same time, Ted is getting this information from Martin Fowler's Patterns (in Enterprise Architecture, ISBN 0321127420) book, so maybe I should move to the domain model. Naahh, I think I'll keep using the Transaction Script method - it's probably easier for folks to learn and would definitely be easier for rookies to maintain.

Onto Hibernate and how it works:

- POJO beans, encourages fine-grained
- Utilizes "persistence by descriptor"
- Provides DBA-friendly text queries
- Plays well with others
- Buffet-style implementation

IMO, if you're not using Hibernate, you should know why. If you're starting a new project, it's worth looking at. If you're using it, but not using XDoclet - you should be. XDoclet is the best way to avoid DD Hell (quoted from Erik Hatcher).

I didn't know that Hibernate supported a version - did you? Apparently you can specify that a property is a version and Hibernate will use it as you'd expect. Don't see that I have a need for that, but possibly. Would a struts-resume user ever want to keep old versions of their resume? I like to keep old versions of mine, but I have to admit, I never look at them again.

<version name="version" />

Ted just touched on how Hibernate can generate your database schema for you. This is a very powerful feature IMO - especially with struts-resume. It makes it nice for an example app. For instance, with struts-resume, you can run "ant setup-db" and it'll drop tables and re-create your db schema for you.

A student asks about the bottom-up approach - what if you already have a database. My advice? Try looking at Middlegen, its Hibernate Plugin in designed to create an XDoclet-enabled POJO from a database schema. There's also the Reverse Schema Generator that is included with Hibernate. I've used this one and it works great. I've never used Middlegen, but I should be considering that I tag the generated POJO up with XDoclet tags.

Interesting: Ted just mentioned that Gavin (Hibernate's Lead Developer) is working on a book for Manning. It is on Object Relational persistence and it uses Hibernate for its example apps. Erik Hatcher, at his preso on Wednesday, also mentioned that an XDoclet in Action book will be published soon by Manning. He even showed us the book's cover - so I'm assuming it will be published soon.

Hibernate's Fashionable Friends: XDoclet, Commons Logging, Commons DBCP, DynaBeans and Turbine Caching.

To learn more about this Hibernate, checkout:

· AgileData Website (Scott Ambler)
· Hibernate Homepage
· Struts Application Site (Hibernate example and Struts Resume both use Hibernate with Struts)

Vic still likes RowSets and SQL better. I'm guessing this is because he's a SQL expert. The nice thing about Hibernate is that it's query language (HQL) is very much like SQL and allows you to do complex joins. At least, to my knowledge, I've never done any fancy joins in the HQL, just in the mapping (*.hbm.xml) files.

Quote from Ted: This is the year of JUnit books. Watch for them this summer..

Now Ted is covering StrutsTestCase, a JUnit extension that hooks into Struts and Cactus. IMO, it's an awesome way to test Struts Actions - even easier than testing a servlet with Cactus.

Another book: JUnit in Action (Manning) by Vincent Massol and Ted. To be published this summer. Vincent is the lead developer on Cactus, so I expect this to be a great book. Right now, I wish I had written my first book for Manning rather than Wrox. :-(

The one bad part about today's session is that I had to use a calling card to dial in and at $0.35/minute, I'm up to about $25! I should probably sign off soon and save some cash...

Tapestry - are you using it? A student asks about it and Ted mentions that he views it as a presentation framework like Velocity. I've heard lots of good things about it, but have never used it. Ted admits that he uses Velocity and gave up on using JSPs a while ago.

Good stuff - thanks Ted, I'm signing off (the QA session is still in progress).

Posted in Java at Mar 15 2003, 08:37:28 AM MST 1 Comment

MicroSOFTees

Andy has some words for Microsoft. You owe it to yourself to read this. Good stuff.

But Microsoft won't go for it. They have a weak position technically 
and a strong one from a marketing standpoint and not the stones to 
answer OUR questions. (And oddly I was semi-favorable to .NET at the 
start of this).

So what of it? Are you men or are you microSOFTies. Lets face it, you
couldn't stomach a fair fight. 

He, he...

Posted in Java at Mar 13 2003, 11:03:19 PM MST Add a Comment

Good Humor from the struts-user mailing list

This made me laugh out loud, so I thought I'd share:

Hi, all -- I'm new to struts and I have a few questions. Since you are
the experts I'm sure you will be able to help me.

My boss wants to know how many people are using struts and how long it
will take to build our application using struts as opposed to our current
development process. We currently have a thousand monkeys sitting at a
thousand emacs editors. The application isn't completely designed yet,
and of course I can't release confidential information about our 
application but if you could give me an estimate of monkey-hours saved, 
that would be great.

I was able to download the struts-blank.war file but I am having trouble
setting it up. The first stumbling block was that it is misnamed. It
should be called 'struts-blank.zip' because it is in zip format. I had 
to open the file in hexedit to figure that one out. Hopefully the next 
version will have the right name???

The other problem I have is that I can't get my application to behave
properly. If the user types in their email address I want to be able to
check that it is a correct one and show the field red while they are
typing if it is not. I have a javascript that checks for the '@' sign but 
many people are typing in 'a@a'. Since I don't think so many people would
have the same email address we are losing valuable data. How can struts 
help me with this? Will it take many monkey-hours to implement?

Once I unzipped the file I could not find any README or INSTALL file. I
tried the usual 'make; make install' but that did not work. I went out
on the net to find some install instructions and I read one place that 
said I just had to stick the zip file inside my tom cat. I do have a cat, 
but she's female. Will that make a difference, or does struts only run on
male cats? Does it matter if they are neutered? Does each client need to 
have a male cat or just the server?

Posted in Java at Mar 13 2003, 10:35:55 AM MST 4 Comments

Denver JUG Review

Last night's meeting was great. The first presentation on TINI was very cool and showed how you could telnet/ftp into this SIM (RAM-style) device and run Java on it. Granted, it only supports JDK 1.1 and lacks some cool stuff, but it can run a servlet engine and even serve up web pages through a servlet. This was all designed to demonstrate how Java can run on embedded devices. The speaker thought that embedded devices would be the next big thing for Java. IMO, he has to - especially since he seems to have dedicated a lot of work to learning about it. In reality, I hope it is the next big thing, Java (and our job market) could use a real boost.

The second preso was by our good friend Erik Hatcher. It was the first time I've met Erik in person, so that was definitely the highlight of the night. He's a very down-to-earth fellow and gave a great presentation. If I didn't learn so much about XDoclet in the past couple of months, I would've been wowed. I did learn that I should replace my // TODO: comments with @todo in the JavaDoc so I can use XDoclet to generate a JavaDoc-like website of my todo list. I'm definitely looking forward to the next time he speaks at the NoFluff Symposium.

Moblogging went fairly well as you can tell from the pictures. These photos look pretty awful on the camera, but turned out decent on this site. I'm heading off on a trip to Chelan, Washington this weekend and will hopefully snap some more pics (pending connectivity).

Posted in Java at Mar 13 2003, 07:41:01 AM MST Add a Comment

JSP Plugin for Eclipse?

Does anyone know of a good JSP Plugin for Eclipse? I've found that the available XML and JSP Editors are not very good, and I resort to HomeSite (which I love) for most of my regular text editing. I'd love to find a tool that does code completion for JSPs. I suppose I could use Dreamweaver, but they don't have a copy here in the office. BTW, I found the Lomboz plugin, but it doesn't appear to be latest-eclipse-release compliant.

Posted in Java at Mar 12 2003, 01:28:39 PM MST 17 Comments

RE: GC settings to improve Eclipse performance

I changed my shorcut icon (Win2K) to have the following as it's target:

eclipse.exe -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M  
 -XX:MaxNewSize=32M -XX:NewSize=32M -Xmx256m -Xms256m

Eclipse now starts in a mere 6 seconds (2 GHz Dell, 512 MB RAM). Without these extra settings, it takes 11 seconds to start. That's what I call a performance increase!

Posted in Java at Mar 12 2003, 09:32:04 AM MST 2 Comments

Struts from Scratch

More goodness from the struts-user list this afternoon. In reality, I don't know why I'm posting these as I'm not planning on reading them - maybe in hopes that some of you will find it interesting. Could be that I worked until 3:30 last night and got up again at 7. Red Bull at lunch and I feel like I got a full night's sleep!

Struts from Scratch covers a Struts install from ground zero.

It provides detailed install and configuration steps for a beginning Struts application. It comes with a basic sample application and basic Ant build script (available for download from http://www.strutskickstart.com).

Posted in Java at Mar 11 2003, 12:42:39 PM MST 1 Comment

[ANNOUNCE] Struttin' With Struts beta

Struttin' With Struts Rick Reumann has put together a nice website with tutorials for learning Struts. From the struts-user mailing list:

I created a web site that walks new Struts users step by step through the development of three VERY simple web applications in three lessons. Each lesson adds a few more features so that they build upon each other yet each stands alone such that if you follow the steps in any lesson you'll have built a very basic application regardless of which lesson you start with.

I created these because there seemed to be lacking some more recent "walk through" Struts tutorials geared toward the very new Struts developer. I think real newbies will find them especially useful, but then again I could be way wrong:)

I'm considering the site a "beta" because I'm sure there will be some mistakes. If anyone sees something I'm doing in a lesson that is way off (or a very bad practice) please let me know. Some of the stuff I know could be done in a more "best practice" way, but for the sake of trying to also keep the lessons small and simple some ideas weren't included (ie- I didn't use a constants interface for my forward definitions).

If anyone wants to contribute, reword, or add anything please let me know. The site is there to help others. I got really lazy in a lot of places and didn't say much about certain things that I would have liked to. Hopefully over time the site will improve.

Struttin' with Struts:

http://www.reumann.net/do/struts/main

-- Rick

Thanks Rick - looks very cool! I like the design too - nice work!

Posted in Java at Mar 11 2003, 08:50:58 AM MST Add a Comment

[ANNOUNCE] JDK 1.4.1 for OS X has been Released! (finally)

Don't give me the credit, Matthew Porter hooked me up with the news:

Yes, it is true. Java 1.4.1 for Mac OS X is finally out. Run System Update to get it! Also, check out Apple's Java page.

Downloading now...

Posted in Java at Mar 10 2003, 03:35:07 PM MST 1 Comment