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.

Struts Training (Darn Cheap too)

If you're looking to learn more about advanced features of Struts, you might want to checkout BaseBeans's upcoming training. I received the following e-mail in my Inbox this evening.

Announce: "*Best Practices in Struts -  Web Training*" by Cekvenich, 
Husted, and Turner and a presentation by Momjian on PostgreSQL. (each a 
published author)

Struts 1.1 might be released in March, so every Saturday at 10:30 AM 
Easter, watch and hear presentation via WebEx.com.

Meeting #	Date	 Title
616291003	1-Mar	 MVC Intermediate Setup
614301419	8-Mar	 MVC View for CMS/Contact
611367121	15-Mar 	 MVC – Ted Advanced + DAO Lab
611903740	22-Mar	 MVC – Bruce pgSQL + Multi Row Lab
611213868	29-Mar	 MVC - Turner + Options/Nested
(once you connect via PC, telecom phone is 1-408-964-1050)

This presentation is almost FREE (other than the cost of WebEx), the 
sooner you register, the cheaper it is.

A week of training by others could be $2400! Plus travel costs. Plus 
they did not get voted best, baseBeans.com did!

Register and pay at: http://www.basebeans.com/do/classReservation
Cost of all 5 sessions + labs (8 hours for each session) is .... $155 if 
you pre-register, or $275 if you late register and $475 if you register 
in March.

Labs (on your own time, hours each) include: Multi Row Updates, 
Validation, Tiles, Navigation, EL, Nested, Options, CRUD, etc. full 
agenda was published.

Each lab is at least 8 hours and required, if you do not do the labs, 
the next presentation will not make sense, no pretenders here. No money 
back for this, other baseBeans.com presentations are money back!

I'd sign up, but Saturdays are reserved for Julie and Abbie.

Posted in Java at Feb 16 2003, 07:34:22 PM MST Add a Comment

Wrox Chapters: Round II

I, like Dave, have been working my butt off all weekend to try and get my Wrox Chapters edited and returned by tomorrow. Can you imagine my jealousy when I say his post this morning saying he was done?! That bastard!! ;-)

As you can see, I've returned to mismanaging my time (i.e. blogging). I've finished the 2nd drafts of my Wrox Professional JSP chapters. The reviewers seemed to like my 1st drafts, especially the Performance and Debugging chapter, but that did not stop them from making hundreds of comments and thus burning two perfectly good weekends.

Dave - you had two weekends!! I'm even more jealous now! I only got one - think it had something to do with me turning my first chapter in a week late, and the second one in 3 weeks late!? Probably...

Oh well, I just finished my security chapter, and while it did eat up my entire weekend - I greatly enhanced it to be a much better chapter. Just as an indicator - it went from 21 pages to 40! Now it has a lot more examples and includes how-to's for configuring Tomcat's Realms (MemoryRealm, JDBCRealm, JNDIRealm and JAASRealm) and for implementing "Remember Me" functionality. The realm stuff was pretty cool - I setup OpenLDAP and was able to get that working with a JNDIRealm and also hooked a JAASRealm into the workgroup that my Windows machines belong to. As for the Remember Me feature, I figured out that I didn't need half the code I was using - which is always a good thing - making it much simpler to implement and understand. Tomorrow I'm taking the day off in hopes of finishing the Struts chapter. Wish me luck!

Posted in Java at Feb 16 2003, 07:21:25 PM MST 2 Comments

Is Sun going to die soon?

Not if it merges with Sony, according to this article. Hmmm, sounds like it might actually work. Another way to "bet the company" is to make Java open source, but that probably wouldn't produce any revenue. How about buying/marketing/selling JBoss? Hmmm, not much profits there either I bet. There's got to be something that folks are still willing to buy in this God-forsaken piss-poor economy... What could it be?

One way to do that is through a merger, but the logical merger partner isn't Apple, it is Sony. The two companies have been talking about some kind of strategic alliance. Maybe these are merger talks. Sony is incredibly strong, having just posted its biggest-ever profit. Sony leadership is changing, making possible a bold move as the new management tries to put its own stamp on the company. Sony has both the resources to support Sun and the need for technology Sun can provide.

Posted in Java at Feb 15 2003, 11:28:28 PM MST

RE: Who reads them anyways....

Laurent Michalkovic has an interesting post on the fact that no one reads the specs. I read them two years ago, that's right - in December of 2001. I read all of the ones that that interested me at the time: JSP 1.2, Servlet 2.4, J2EE 1.3 and EJB 2.0. I downloaded them all and printed them out and read them. It was boring and cost me around $150 just in printer cartridges. They had good information, they're just dry. Luckily, I was very motivated to read them. I was studying for the Web Component Developer exam from Sun, so the JSP 1.2 and Servlet 2.4 specs were essential reading. I read J2EE 1.3 and EJB 2.0 shortly thereafter while studying to become a BEA Certified Developer. Interesting thing about the BEA exam, I ended up concentrating on WebLogic-specific stuff to pass the exam. Not much on standards, mostly questions on server configuration, clustering, etc.

I've skimmed through the latest ones, but I haven't read them page-by-page cover-to-cover. Besides, the mere size of each will scare you off:

  • Servlet 2.4: 309 pages
  • JSP 2.0: 458 pages
  • J2EE 1.4: 242 pages
  • JSTL 1.0: 219 pages
  • JSF 1.0 EA: 117 pages

That's a heckuva lot of reading. When studying for these certifications, I also picked up Professional Java Server Programming J2EE, 1.3 Edition by Wrox. I actually thought this was a great book and I learned a lot more from it than I did from reading the specs.

Interestingly enough (or maybe not at all), I also bought (and read) J2EE Applications and BEA WebLogic Server. However, the BEA Documentation site turned out to be a better resource than that book!

Posted in Java at Feb 15 2003, 11:14:08 PM MST Add a Comment

RE: Which servers support HTTP Digest Authentication

I did a bit of digging today to find out which J2EE servers support HTTP Digest Authentication. Here's what I found:

  • Tomcat: Yes. How do I know? My own experience, and this documentation. Why can't they just state this in Tomcat's documentation?
  • JBoss: Yes. How do I know? An earlier comment. Since JBoss can be configured with Tomcat and Jetty, this question is only applicable to those servers. I couldn't find any Jetty documentation indicating support, but I trust the users. Finding any information on JBoss is a real pain in the ass, I hate PDFs.
  • Resin: Yes. This documentation says so. This documentation and finding the answer was the easiest yet. Of course, the manual testing on Tomcat was pretty easy too.
  • Orion: No. How do I know? An e-mail I received from Nicholas Clarke, who tested it on Orion 1.5.2. Here's the message he received: Auto-deploying file:/usr/java/orion/wwwroot/antiaction/ (Assembly had been updated)... Error initializing site Alternative: Digest-Auth not supported Orion/1.5.2 initialized. I couldn't find anything on the Orion site indicating support for the different authentication types. Their documentation on web.xml seems to be a regurgitation of the DTD.
  • WebLogic: No. They've always had excellent documentation, making this a breeze to find.
  • WebSphere: No. How do I know? the 5.0 docs say so. BTW, I had to really dig to even find this documentation. Makes me glad I don't currently develop on WebSphere.
  • Sun ONE: No. Easy to find due to great documentation.
  • JRun: Who knows. I gave up searching for this documentation after 10 minutes. BTW, looking through JRun's technical whitepaper I found that "XDoclet has been tightly integrated into JRun 4." Very cool!

That seems like a waste of a good hour for a feature that no one ever uses. Oh well, at least you've been edumacated.

Posted in Java at Feb 15 2003, 12:03:40 PM MST 2 Comments

Is there an Instant Messaging API for Java?

I got to thinking on my way into work this morning - is there an Instant Messaging API for Java. I suppose it would help if there was an IM standard, just like there's an e-mail standard (SMTP). I suppose that Jabber is kinda close. Here's why I'm interested. There's a few things I get e-mails on now that are simply "notifications." For instance, Log4j errors, Anthill build notifications and comment notifications from this site. I'd love to be able to program these to call a more configurable messaging system - so I could set it to send me IM's or possibly even SMS messages (the problem with SMS is it costs $$ now). I suppose I could setup a Jabber server and use their API to send messages, but I'm hoping this is already done for me. It'd be slick to parse an e-mail address and based on whether it's @hotmail, @msn, @yahoo or @aol, it'd send it through the appropriate gateway. Anyone know of an API that makes with as easy as sending e-mail with JavaMail?

Posted in Java at Feb 13 2003, 03:07:45 PM MST 2 Comments

RE: Where's the $$ in Java

Danno Ferrin asks "Where's the $$ at in Java?" I don't think I have the answer to this, but I can say that the money has certainly declined in the last year. I wanted to comment on this post, because I think I've found myself an interesting niche. There seem to be few Java Developers that know UI Development stuff like CSS, HTML and JavaScript. When I say know, I mean really know it in the sense that they could construct a good looking web page from scratch. On most of the projects I've been on, sure there have been UI Developers, but that's all they knew was CSS, HTML and JavaScript - they didn't know much Java (if any at all). I'm not saying it's impossible for developers to know both Java and UI Technologies, just that it's rare. So if you want to create a niche for yourself as a Java Developer - learn the UI stuff. If you're a UI Developer, learn the Java stuff. It can't hurt can it?

Posted in Java at Feb 13 2003, 01:22:28 PM MST 2 Comments

Help: Which servers support HTTP Digest Authentication?

In my security chapter, I am describing HTTP Digest Authentication (please correct me if I'm wrong on any of this).

This (HTTP Digest) authentication mechanism identifies a user based on a username and password, and the client transmits the password in an encrypted form such as SHA or MD5. HTTP 1.1-enabled browsers are required to support it, at least according to this page. According to the Servlet 2.4 spec, it is not currently in widespread use, and therefore Servlet containers are not required to support it.

Now for the part I need help on. Which of the following servers support HTTP Digest? Tomcat, JBoss, Resin, Orion, WebLogic, WebSphere and Sun ONE. To test this, in your web.xml you would configure your <auth-method> to be DIGEST:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>My Application</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>*</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>DIGEST</auth-method>
    <realm-name>My Test Application</realm-name>
</login-config>

According to this implementing WebSphere Security article from December 2002, WebSphere 4 doesn't support it. I wonder if version 5 does? Thanks for any assistance you can offer!

Update: I was missing a required element (<web-resource-name>) in the XML above, and I added <realm-name> for display on the dialog box. Tomcat (v4.1.18) supports DIGEST just fine. The dialogs do change between the types though - the differences are below.

HTTP Basic Dialog Screenshot
HTTP Basic Dialog

HTTP Digest Dialog Screenshot
HTTP Digest Dialog

Posted in Java at Feb 13 2003, 06:42:56 AM MST 4 Comments

XDoclet for Hibernate

A nice community-enhancing developer (I don't know who) has posted an XDoclet for Hibernate tutorial on Hibernate's Wiki. Good stuff. Since the XDoclet doco is kinda cryptic, it'd be awesome if someone did this for Struts. Maybe in my spare time. Oh wait, I have none of that - at least not this week.

I think XDoclet and Hibernate work well together when creating a database schema from scratch. However, I've found that Hibernate's Reverse Engineering Tool works much better for me. It generates the .java and .hbm.xml files for me and I'm done. Hook up a DAO and a DAOTest and I'm done! I might look at Middlegen's recently added Hibernate support in my next class-generation cycle. To my knowledge, it creates an XDoclet-enabled .java file that can then generate the .hbm.xml. However, I'm using a lot of composite-id stuff and XDoclet doesn't seem to support that. From the above XDoclet for Hibernate article:

Note that XDoclet will not be able to support the new composite features.

Posted in Java at Feb 13 2003, 05:22:44 AM MST 1 Comment

RE: Tiles 201 - Using Controllers

Patrick has published another excellent article on Tiles. This one is titled Tiles 201 and is about using Tiles Controllers. Good stuff to know - especially since I've never used a Tiles Controller (I might now!). I really like the clear and concise way that Patrick writes tutorials. I think we, as open source developers, should do more of this to better explain the technologies we use. So next time you're interested in learning something, I encourage you to write a tutorial on it - I'm willing to bet you'll learn and retain a lot more. If you don't understand something or make mistakes, I'm sure there are many Java Bloggers willing to help you get it right.

Patrick mentions that the Tiles Controller is not discusses in any of the existing Struts books. This sounds like an opportunity for me to include it in my chapter. With Patrick's simple and easily-understood example, this shouldn't take too much effort. Thanks Patrick - great stuff! One question I have - I know that these types of posts take a long time to create/edit and correct. Your blog says "sponsored by browsermedia" - does that mean you get paid to blog in a sense? Meaning - are you writing these articles at work?

Posted in Java at Feb 12 2003, 08:51:54 PM MST Add a Comment