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

You can also try this same search on Google.

Handling Time Consuming Requests

Domininic says, "I am try to find a good way to have an intermediate page load up while my Struts Action performs a large database query and then XSLT transformation." Ask and ye shall receive. I received the following e-mail from Alec Missine a while back. The attachment has a method of implementing a TCR. Let me know how it works as I haven't tried it myself.

----- Original Message -----
From: Alec Missine
To: [email protected]
Sent: Monday, January 07, 2002 3:59 PM
Subject: processing time consuming requests (was: wait page primer)


There's been some interest to the message I posted last month on the subject. The war file was too big though, so I compressed the stuff as much as I could. I also added some javadoc and UML diagrams.

The attached Struts-based application prototypes the wait page support for a time-consuming request (TCR). When a TCR (e.g., a database search) starts, the appropriate wait page is being sent to the browser after the request's ETC (Estimated Time to Complete) expires.

In the meantime, the corresponding action (the database search) is being started in the background thread on the server. If the default ETC is used (ad infinitum) or the action completes before the request's ETC expires, there is no wait page at all - the browser gets the result page right away, while the background thread is still busy closing the resources.

The wait page has javascript that polls the server to update the wait page with the TCR's progress. When the TCR completes, the wait page is being replaced with the appropriate result page.

This implementation has been tested on Apache Tomcat 4.0 with an Oracle 8.1.6 database as a data source. Presently, the application provides read-only access to all database tables for all database schemas through extensive use of the java.sql.DatabaseMetaData object. The next release will support insert/update/delete functionality.

Alec

Attachments: tcr.zip (114 KB)

Hope this helps!

Posted in Java at Nov 13 2002, 07:17:28 AM MST 6 Comments

Struts Kick Start

Kevin Bedell and James Turner have setup Struts Kick Start; A site devoted to discussion and support of the Struts web application platform, centered around the SAMS book.

Tomorrow night at the Denver Java User Group, Sue Spielman explains how to use Struts to build Enterprise Applications. I think I know most of what will be presented, but it never hurts to attend a Java User Group meeting. We'll have to see how Abbie and Mom feels about Daddy taking off for a few hours (Julie has the flu, so I doubt I'll make it). I actually contacted Sue a few weeks back about contracting prospects. She responded quickly and opportunities seemed promising after exchanging a couple of e-mails. But alas, I haven't heard from her since.

Posted in Java at Nov 12 2002, 09:13:45 PM MST Add a Comment

Remote Scripting Weblog

Brent Ashley now has a blog. I came to know Brent via his Remote Scripting libraries - particularly the Javascript (JSRS) version. At the time (about 6 months ago), I was trying to write a SCORM implementation using Javascript and Struts. I got it working, but then realized that I needed synchronous communication. Hmmm, in looking at this forum post it appears that Peppoz has implemented SCORM using this same architecture! Cool - sometimes reminiscing does add value.

Posted in General at Nov 12 2002, 01:40:18 PM MST Add a Comment

Eclipse Plugins - Updates

I found these gems on the eclipse.tools newsgroup.

  • A new version of the Jalopy Java Source Code Formatter has been released. Visit the Jalopy home page for more information about this software.
  • Easy Struts 0.6.1 was just released, all the wizards were refactored, a Struts view was added and Struts 1.1 modules are supported. Install it from Update Manager or download it.

Posted in General at Nov 12 2002, 01:21:45 PM MST Add a Comment

kdub's log

There's a blog over at freeroller.net that is using a slightly altered x2 theme. X stands for XHTML and 2 stands for 2 columns (I contributed this theme to Roller, so that's how I know). Anyway, the writer, kdub, seems to like what I'm serving.

Great stuff from Raible Matt Raible is a great guy. I have been reading his weblog for a few months and he has been covering OS X, Roller, Struts, HTML/CSS, and Java which works well with my tastes. I need to congradulate him on his new daughter!

Thanks for the Abbie love - now it's your turn kdub - tell us about yourself. We want to hear about you, the person, not just your interests.

Posted in Roller at Nov 12 2002, 07:59:35 AM MST Add a Comment

Struts now produces XHTML?!

I logged this bug many moons ago (December 19, 2001) - and tonight it appears to have been fixed!! This is sweeter than all getout in my opinion. This means that adding <html:html xhtml="true"> to the top of your JSP when using Struts will render XHTML-compliant markup. I haven't tested it yet - thanks David Graham!

Posted in Java at Nov 11 2002, 06:13:02 PM MST Add a Comment

Sun ONE App Server 7

I downloaded and installed the Sun ONE App Server 7 this morning (on WinXP). Install was about 100 times easier than they used to be. I actually became an expert at installing iPlanet because they asked you so many damn questions, and answering one wrong could screw up your whole installation. I must've installed iPlanet 2.1-6 over 200 times! Good to see that almost anyone can do it now. My first test was to see if the struts-example app ran properly. I'm happy to report it did - with no errors visible on the UI. This is the first Sun app server release that this is possible on. Here's what I had to do in the past to get Struts running on iPlanet. I did see two errors in the log file while running Struts though:

WARNING: Error: JAXP SAXParser property not recognized: 
http://java.sun.com/xml/jaxp/properties/schemaLanguage

and

INFO: Processing a 'POST' for path '/saveSubscription'
SEVERE: Database save
java.security.AccessControlException: access denied 
(java.io.FilePermission D:\Tools\Sun\AppServer7\domains\domain1\server1\
applications\j2ee-modules\struts-example_1\WEB-INF\database.xml.old 
delete)

I'm sure both of these could be easily fixed with a little digging. The admin UI is much better - now an HTML UI rather than a Swing UI - appears to be powered by JATO. Deploying was super-simple, browse for WAR file, click upload. I especially like the option to pre-compile all the JSPs.

In other news, I attemted to use an Atomz (free) search engine last night to index this site, and it appears I have too much to use the free (500 page) service. I might try it anyway, but here's my stats:

Your site is larger than the index size limits that our Express product allows.
...
It took 1 hour to crawl 2324 pages and index 510 pages containing 448497 words for a total of 52432830 bytes. 6112 word endings, 0 synonyms, and 3350 sound-alike words were included in the index.

Posted in General at Oct 29 2002, 03:45:12 AM MST Add a Comment

Wiki Evaluation.

I'm conducting an evaluation of wiki's to use on this site. I'm taking a look at Gareth Cronin's Very Quick Wiki, Russell Beattie's SimpleWeb, and Ghoot Emaho's Chiki. My only criteria is that it must be an Open Source Java-based implementation. If you know of any others, let me know.

Update 1: I got a note from Ugo Cei of Be Blogging to check out Open Wiki. Unfortunately, it's an ASP implementation, so it doesn't satisfy my only criteria. It really looks very slick, and I especially like the attempt to follow web-standards (indicated by the w3c icons on the bottom right).

Update 2: Brad Smith (no blog in e-mail) sent me a head-up about JSPWiki this evening. This one looks pretty cool - it's got a RSS feed and statistics. Just to be fair, SimpleWeb has an RSS feed as well.

I've begun my first phase of the evaluation and will update notes in this post accordingly - after I'm done, I'll add to to my Articles list. Keep the suggestions coming - I'll eval as many as I have time for and hopefully keep the list growing.

Update 3: Here is a rough list of features I put together last night (Saturday, 10-26-02) about features I read from each wiki's documentation. I jotted down some quick thoughts and I will evolve them over the next few days. This is only a 15 minute analysis, more to come soon.

Very Quick Wiki:

  • Email notification
  • Virtual wikis
  • MySQL support
  • Custom file system directory
  • File uploads
  • Wiki markup vs HTML
  • Admin console
  • The search engine
  • Diff
  • Username cookies
  • Versioning
  • Locking

Plus: version 2.0, Easy install
Minus: Doesn't Validate (no character encoding)
Development: Somewhat Active

SimpleWeb

  • No Documentation

Plus: Nice Interface, E-Mail Signup, Russel wrote it (a.k.a. you'll probably get good support), RSS Feed
Minus: Doesn't Validate (no character encoding), No documentation, No Web UI To Configure (had to search and find .jspf files under WEB-INF), No binary distribution, have to download and compile, Version 0.1
Development: Not Active

Chiki

  • Simple Content Creation and Editing: edit existing pages or create new pages by using any web browser - no need to upload pages via ftp or http
  • Edit Content: simply click on the Edit option and make your changes
  • Create Content: simply type in the name of the new page you want
  • Automatic links: pages are linked automatically. You do not need to learn Html commands to link pages.
  • Text formatting: simple, powerful and easy to learn text formatting rules. If you can use email, you can use Chiki !
  • Nodes: pages are grouped into Chiki Nodes. This allows simple organisation of content and collaboration areas
  • Content Search: full text search
  • Content Links: simply click on the links option to see what other content pages link to this one
  • Access Control: you must be registered and logged in to edit and create content, otherwise you have read access only
  • Recent Activity: shows the most recent edit/create operations performed

Plus: Uses Struts and Castor, User Login to Edit, Homepage is powered by Chiki
Minus: Doesn't validate (no character encoding), Version 0.27
Development: Stagnant - was active when first released, but seems to have lost momentum

JSPWiki

  • RSS Feed
  • XML-RPC interface
  • Skins (2.0)
  • Authentication and Access Control (2.0)
  • Search
  • File Upload
  • User Preferences (username)
  • Recent Changes
  • Diff

Plus: Homepage is powered by JSPWiki, Future plans documented on website, version 1.97
Minus: Doesn't validate (but does include DOCENGINE), plain and boring interface, No Admin UI
Development: Seems to be Active - lots of discussions on homepage

Posted in General at Oct 23 2002, 07:39:22 AM MDT 1 Comment

Struts Goodies.

I went searching on the Struts User List this afternoon and found a couple treats. The first is that you can make $135 for each Struts bug you fix. The second is StrutsCX (Struts with Castor XML and XSLT - but without JSP.). Sounds cool, downloading now.

Update: I installed StrutsCX on this server so you can try it out. Pretty cool stuff. I wonder how difficult it would be to switch from Castor XML to Castor JDO, and then generate the whole thing using XDoclet. BTW, did you know you can install WAR files in Tomcat by 1) ftp-ing the file to your server, and 2) using a url in your browser? Pretty cool - here's the one I used to install simpleweb today:

http://raibledesigns.com/manager/install?path=/simpleweb&war=jar:file:/home/raible/webapps/simpleweb.war!/

Posted in Java at Oct 23 2002, 06:38:29 AM MDT Add a Comment

A Tutorial.

javaStruts meets Swing. Thanks Erik. I hope that I never have to use this. I dread that day that I have to write a Swing app over a web app.

Posted in Java at Oct 23 2002, 04:27:08 AM MDT Add a Comment