|
Upload Files with Struts, Store Them with Hibernate
by Alexander Prohorenko and Olexiy Prohorenko
Every Web developer has had to implement a customer's file upload functionality in a project at least once. It's a never-ending necessity! Further, it's unfair to ask users to provide just a URL to their data. As a developer, it's your job to faciliate this task for your users. HTTP protocol does helps in this situation, but many developers don't use HTTP's abilities wisely.
Basically, you need to solve the problem of storing uploaded files, and find answers to the questions: "Where?", "Why?", and "How?"
This article explains all the bottlenecks involved in this task and provides functional, easy code, which you will be able to use in your own projects.
What You Will Need
This article employs the best, most modern tools:
Struts 1.2.4 is used as the framework for building Java Web applications and Hibernate 3.0 (RC1) is used as the object/relational persistence and query service.
The article was written using Windows. On other operation systems, everything should run with only minor changes (if any at all).
Familiarity with BEA WebLogic server and of course with developing J2EE applications using Struts and Hibernate is necessary. Unfortunately, questions concerning application and database server configuration go beyond of this article.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|