From: ruds on
Hi,
I'm currently working inJSP along witj Tomcat as my server and
Editplus as my editor.
I have to rebuild / redesign an existing web application.It is small
application showging records from database( MS-Access is my database),
and few functionalities like uploading documents, etc.
For this I'm thinking of using a framework(JSF, Spring, Hibernate)
(just for my intellectual growth, as I'm working alone and not in a
team but would like to).
please advice on what should I opt for?
Other suggestions are welcome as well.

Thanks
From: Lew on
ruds wrote:
> I'm currently working inJSP along witj Tomcat as my server and
> Editplus as my editor.
> I have to rebuild / redesign an existing web application.It is small
> application showging records from database( MS-Access is my database),
> and few functionalities like uploading documents, etc.
> For this I'm thinking of using a framework(JSF, Spring, Hibernate)
> (just for my intellectual growth, as I'm working alone and not in a
> team but would like to).
>

I am not adept at Spring, and so far I don't like it much, but I've
used JSF and Hibernate extensively. I've also used OpenJPA and
EclipseLink as JPA layers (in lieu of Hibernate). I've done projects
with Struts, and also "raw" JSP/servlet applications (like Struts
where you reinvent the wheel).

I love Tomcat as an application server, particularly for one-person
projects such as you describe. You can set up data sources in the
deployment descriptors as explained in
<http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html>
and
<http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-
howto.html>
which also leverages the built-in version of Apache DBCP (Database
connection pooling).

It ties in well with Apache Web Server (httpd) or runs nicely
standalone.

JSF can be a little tricky. For me the insight was to think of it as
a component framework sort of like Swing, rather than a classic JSP
Web model. Facelets, which is JSF plus XHTML rather than JSP, is very
powerful. I always use Tomahawk with my JSF, apparently a widespread
practice.

The key to effective JPA (Hibernate, EclipseLink, OpenJPA) is to
expose an object model to the application, not a data model. There's
little point to an object-to-relational mapping (ORM) tool if you use
it for relational-to-relational mapping.

I spent a lot of time practicing on my own with JSF and JPA before
finding jobs that paid me to use them. All that practice was
extremely useful.

--
Lew
From: Arne Vajhøj on
On 23-06-2010 06:42, ruds wrote:
> I'm currently working inJSP along witj Tomcat as my server and
> Editplus as my editor.

There are probably a million developers working in similar
environment.

> I have to rebuild / redesign an existing web application.It is small
> application showging records from database( MS-Access is my database),
> and few functionalities like uploading documents, etc.

Change database.

MS Access means the JDBC ODBC bridge and that is not good.

There are plenty of good embedded database for Java:
Derby/Java DB
HSQLDB
H2
etc.

> For this I'm thinking of using a framework(JSF, Spring, Hibernate)
> (just for my intellectual growth, as I'm working alone and not in a
> team but would like to).

JSF, Hibernate (possible using JPA API) and just a tiny sprinkle of
Spring is both a common stack and do make some sense.

Arne

From: Roedy Green on
On Wed, 23 Jun 2010 03:42:46 -0700 (PDT), ruds <rudranee(a)gmail.com>
wrote, quoted or indirectly quoted someone who said :

>please advice on what should I opt for?

Use as few tools as possible to get the job done, then later once you
have things working, add them one at a time. You will better
understand what you need. Having too many tools creates too many
haystacks for the needles to hide in.

You also avoid intellectually overwhelming yourself.
--
Roedy Green Canadian Mind Products
http://mindprod.com

There is no harm in being sometimes wrong especially if one is promptly found out.
~ John Maynard Keynes (born: 1883-06-05 died: 1946-04-21 at age: 62)
From: Arved Sandstrom on
Roedy Green wrote:
> On Wed, 23 Jun 2010 03:42:46 -0700 (PDT), ruds <rudranee(a)gmail.com>
> wrote, quoted or indirectly quoted someone who said :
>
>> please advice on what should I opt for?
>
> Use as few tools as possible to get the job done, then later once you
> have things working, add them one at a time. You will better
> understand what you need. Having too many tools creates too many
> haystacks for the needles to hide in.
>
> You also avoid intellectually overwhelming yourself.

Your advice is generally good, but the OP is already at the point where
he's using JSP (one would assume that he's therefore got a grasp of
servlets) on Tomcat, and is using MS Access (so therefore JDBC). The
next logical abstractions are web frameworks and persistence frameworks,
and those are independent - if he gets an error related to one I don't
think he's going to waste too much time thinking it's the other.

I would second the advice given to switch from MS Access to something
like Derby or HSQLDB. It won't really slow down his education if he gets
a web framework in there at that point, makes sure things are working,
and only then switches to JPA. I say JPA because I would recommend
against using ORM native APIs unless you're stuck and there's no other
way around a problem.

I'm not going to recommend a web framework. I've used JSF and Struts a
lot, Spring quite a lot, and given Wickets a fair shake. I believe a
person can make any of them work, and of the two major players (JSF and
Spring MVC) I don't really see that one is better than the other. In
particular I don't buy any SpringSource claims that their approach is
easier than JSF...I don't think it's more difficult but it sure isn't
easier. For somebody with educational time to burn I'd say try
both...Spring MVC does have the advantage of being part of a whole
constellation of technologies.

AHS

--
The most amazing achievement of the computer software industry is its
continuing cancellation of the steady and staggering gains made by the
computer hardware industry.
-- Henry Petroski