Struts2 sucks, and so does Eclipse. I started out with Struts2, but that's such a pain in the ass. It's just that both eclipse and netbeans tend to fuck up the project every now and then. Of course, at times its my mistake, but most of the time, it seems that the eclipse browser cache is not cleared out, or the Netbeans didn't quite read the updates. And Struts2 just can't get DOJO right. It always fucks up with AJAX, and I end up falling back to Struts2.1 (yeah, they did get That one right!). They keep throwing ambiguous errors, and at the end of the day I realize that all I needed to do was reboot the system. Fucking stupid IDEs and their fucked up memory management! I am just tired.
Some classic Errors:
message There is no Action mapped for namespace / and action name "yourActionName".
Dispatcher initialization failed
Unable to load configuration. - bean - jar:file:/D:/jboss-avalon/server/default/deploy/zcmc.ear/CertificateConsole.war/WEB-INF/lib/struts2-core-2.3.1.2.jar!/struts-default.xml:29:72
ConfigurationException: Unable to parse document'bundle://130.0:1/com/sun/faces/jsf-ri-runtime.xml': DTD factory class
org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl does not extend from DTDDVFactory.
.
ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter
Anyways, I really really don't wanna start coding by hand and Ant, so for now, I am falling back on plain old Java EE. The Version 7 seems quite good. I would definitely like to revisit the idea of Struts2 once that gets a little mature. Oh ya, like I have said elsewhere, I really hate JSF because of its convoluted approach to every damned thing and spring is something like its so vast, that I always ended up avoiding it; I was one of those guys who thought struts2 is the future, and spring is just the latest craze; and like others, I have been proved wrong. Anyways, that ship has sailed, but Java EE 7 is helping me catch up. It seems much of its simplicity is inspired from Spring and Hibernate. So, may be I'll learn spring in my spare time and see what its got, as I have always preferred Hibernate over JPA.
Two more reasons to go for Java EE is its recent support for Websockets and Batch Processing.
When I first built the project, I started out with building perl scripts (for MSA) and python scripts (for models). Later, I ended up writing batch files to call those scripts. It has been said Java purposefully never got its ProcessBuilder right, because you know, who wants a competitor piggyback on his shoulders! Nevertheless, they were really a pain. Sometimes they would work, sometimes they wont! Now, after batch processing is here, I can actually, at least, dream of doing the whole thing in java.
The homology modelling module has got lot to do with graphics (both 2D and 3D). So I have been largely thinking about putting them in desktop applications instead of Web Pages. Sure, AJAX/JQuery with JSON can do that but the performance overhead is just too much. ##No, not the users, but Me. I have got a shitty Intel Pentium (I) CPU [it does have the ubiquitous sticker of Intel Pentium Inside, which kinda makes me feel better than Intel Celeron Inside!] - which is kind of explains why I cant move past Fedora 14. [Everything else stomps me down to Fallback mode, which is just Rude!] - and when I think about all that, I kinda realize the point of Eclipse and Netbeans crashing all the time and acting so weird Anyways, I don't really have any money to get a better laptop, so no point in quibbling about that. ## All right. So with the mix of Desktop and Web Server Apps, I was kinda worried, I never had a rosy relationship with JNDI back when I was working on a JNI project; I heard they made it less painful this time. So, thus comes Websockets. I can use it and can even control the Desktop Apps directly from my server.
So, Plain Old (I guess I am not supposed to use that here) Java EE it is! Check my tutorials on how to set up the box with Java EE. I was actually setting up Struts2, but I guess I might not be able to finish it by this weekend. Well, lets see!