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 "struts". 659 entries found.

You can also try this same search on Google.

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

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

Integrating JSP/JSF and XML/XSLT: The Best of Both Worlds

I saw this nugget a few minutes ago on the struts-user mailing list. Maybe I'll even read it... ;-)

For those of you wondering how JSP technologies, including JSP 2.0, JSTL, Struts and the upcoming JavaServer Faces (JSF) 1.0, can work together with XML and XSLT, there is a new article at TheServerSide.com about this subject.

http://www.theserverside.com/resources/article.jsp?l=BestBothWorlds

The article presents the natural evolution of server-side Java programming from basic servlet programming to JSP 2.0 with JSTL and JSF, shows the limitations of the current JSF rendering architecture and how XML technologies can solve them.

The article comes with sample code that shows how to hookup an XSLT transformer with a JSP filter, and includes an experimental XML renderer for JSF.

Posted in Java at Feb 12 2003, 12:40:53 PM MST 1 Comment

www.struts.ru

Cool - there's a new site for all the Struts documentation in Russian. I actually got a degree in Russian, and I dig Struts, so of course - this interests me. Beautiful country, awesome culture and a very rich history. Too bad I gave up Russian after graduating to learn all this computer stuff instead. Now I can barely understand a full sentence - and I was pretty close to fluent my senior year. One question I have for non-English programmers - do you write Java/JavaScript/CSS/HTML in your native language or in English? I've always wondered...

Posted in Java at Feb 11 2003, 12:50:34 PM MST 2 Comments

Whither ActionMappings

Ted Husted made a post last Friday to the struts-user mailing list. It looks like a good post for rookie struts users. I haven't read it, but hopefully by bookmarking it here, I'll read it soon.

Haven't quite decided where to use this, and it didn't seem like the best time to squeeze something new into the docs =:0), so I thought I'd post it here for now, in case it were of interest to some.

WHITHER ACTION MAPPINGS?

We write applications to do things for people. We might say, for example, that we want the appication to create a mail-merge job for us. Some developers call these top-level tasks "client stories". In practice, to do a big job like this, an application will need to take several smaller steps. We'll need to obtain the information from the user about which mail-merge job to create. We'll need to find the items to merge. We'll need to put the items together with a template, and we'll need to present the result back to the user. Some developers call these smaller tasks "use cases". To complete a client story, we usually chain several use cases together. A chain of use cases is sometimes called a workflow.

Before doing any thing for us, most applications wait to be asked. When we ask the application to do something, we usually need to provide a variety of details. If we ask the application to store a name and address, we need to provide the name and address to go along with the request. [read more...]

Posted in Java at Feb 11 2003, 07:43:45 AM MST Add a Comment

RE: Tiles 101

Patrick Peak has a weblog that was just started last Wednesday. He wrote a great post today on Tiles that I hope to send to the struts-user mailing list (as soon as I get his permission). Unless someone else has already done it, of course. This is definitely a blog to watch and enjoy.

Posted in Java at Feb 10 2003, 10:05:32 PM MST Add a Comment

Java.blogs and Roller in Java Developer's Journal

I received the February issue of Java Developer's Journal today. I thought it pretty cool that java.blogs, Roller and MiniBlog were all mentioned. I barely skimmed the thing, so it's possible that there are more nuggets like this hidden in its pages. Maybe I'll find out tomorrow - Abbie wants me to read her a story tonight.

I received the reviews/comments back from Wrox today on my Security and Struts chapter. I briefly read the e-mails and gasped at the deadline for editing/returning (next Monday). Overall, the e-mails were encouraging and didn't seem to indicate a lot of change, just more code samples and a more consistent flow. Knowing my luck, there's all kinds of work hidden in the marked-up Word docs. Getting these chapters edited and returned could take a while since it gives me an excuse to dive back into struts-resume and add some more features. Maybe that's why they give the short deadline.

One interesting point that was mentioned is that the Struts chapter was so packed full of tools (i.e. XDoclet, Struts, Validator, Ant, Hibernate, Tiles) that they're thinking of renaming it to be something like "Leveraging Struts, Tiles, and other Tools." Sounds cool to me. In my current project, it seems that Struts only plays a small role in the whole webapp, but after teaching it to a co-worker over the last week - I guess it plays a larger role than I thought. The combination of all these tools and learning them can be a bit overwhelming - I guess I had an advantage in learning since I wrote about them and also did a sample app. I tell you what - "doing it" is certainly the best way to learn. Now hopefully I can come up with a better way to explain how to do it. The book is (to my knowledge) still scheduled to be released in March.

Posted in Java at Feb 10 2003, 08:56:31 PM MST 4 Comments

Deploying to Tomcat using Ant

If you're using Tomcat 4.1.x, did you know you can deploy using an Ant task that ships with Tomcat. You'll need to add $CATALINA_HOME/server/lib/catalina-ant.jar to your classpath, but then you can configure your ant task as follows:

<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"/>

<deploy url="${manager.url}"
         username="${manager.username}"
         password="${manager.password}"
         path="/${name}"
         war="file:/${dist.dir}/${name}.war" />

I haven't tried it, but it looks cool. Right now I use a simple copy task that works pretty well for me, so no need to change at this point.

<target name="deploy" depends="package-web" if="tomcat.home"
    description="unwar into the servlet container's deployment directory">
          
    <unwar src="${webapp.dist}/${webapp.war}" 
        dest="${tomcat.home}/webapps/${webapp.name}"/>
    
</target>

If you know of any advantages to using Tomcat's deploy task, or you'd like to share your experience using it - please post a comment.

Posted in Java at Feb 07 2003, 06:58:04 AM MST 12 Comments

Workflow Redux

Thanks to all who commented on my request for Java-based workflow engines. I especially liked Anthony's comment, and his list of possible frameworks.

There are several open source options: Only Open Business Engine and Open For Business' workflow component currently follow any sort of standards for workflow. All of the other engines currently have their own workflow definition language.

This leads me to believe that if we are going to use a framwork, we should probably use Open Business Engine or Open for Business' workflow component - simply because I like standards. The question is - how easy are these to implement in a webapp? Any examples? I haven't researched either tool at all, just hoping someone else has.

Posted in Java at Feb 05 2003, 09:49:42 AM MST 6 Comments