Search This Blog

Loading...

Monday, August 4, 2008

"Java Is Dead, Long Live Java!" – The Future of Java

"Java Is Dead, Long Live Java!" – The Future of Java
— 'Because of its prominence,' writes Bryan Taylor, 'Java gets a lot of attention and with it much criticism, some of it valid.' What many may not realize, Taylor notes, is that some big breakthroughs have arrived and that the Java development landscape is solving important problems. In this column he takes a view of where Java is going to go in the next year or two as these ideas gain traction.

Trackback URL :  Click Here

Wednesday, July 9, 2008

Struts 2.1.2 Released

Yesterday when I was on Google searching for something I found that Apache had released the latest Struts 2 version which is Struts 2.1.2, and promoted to "Beta" on 26 March 2008

You can download it from Struts Download Page

Monday, July 7, 2008

Struts 2 Hello World Example

I had seen many new deveopers struggling against struts2 hello world example. So I decided to write a small example.
Below are the required libraries to run this example which are easily availabel

struts2-core-2.0.11
xwork-2.0.4
commons-logging-1.0.4
commons-logging-api-1.1
freemarker-2.3.8
ognl-2.6.11

The structure of the applictaion which I am following is (Eclipse IDE)
Struts2Demo
|---src
| |----org
| | |----vinod
| | | |----action
| | | | |----HelloWorld।java
|---struts.xml

|---WebContent
| |---jsp
| |---HelloWorld।jsp
|---index.jsp
|---WEB-INF
| |---lib
| |---web.xml


It is true that different IDE's use different structure, but at last when war is build they follow same structure.
Lets start...

HelloWorld.java
package org.vinod.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorld extends ActionSupport{

String greetings = null;

public String execute() throws Exception {
setGreetings("Hello World");
return SUCCESS;
}

/**
* @return the greetings
*/
public String getGreetings() {
return greetings;
}

/**
* @param greetings the greetings to set
*/
public void setGreetings(String greetings) {
this.greetings = greetings;
}

}
HelloWorld.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Struts 2 Example</title>
</head>
<body>
<s:property value="greetings"/>
</body>
</html>
index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Struts 2 Example</title>
</head>
<body>
<s:action name="HelloWorldAction" executeResult="true"></s:action>
</body>
</html>
struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="hello" extends="struts-default">
<action name="HelloWorldAction"
class="org.vinod.action.HelloWorld">
<result>/jsp/HelloWorld.jsp</result>
</action>

</package>
</struts>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Enjoy the struts2(most popular java framework today)

I had also written some more examples and some solutions of struts which can be easily found at
Struts 2 ajax drop down example
Struts 2 change <actionerror /> <actionmessage />
Struts 2 Session Check Interceptor
About Struts 2

Friday, July 4, 2008

Java Code Names

Yesterday I was crawling web and found some intersting things about java. Firstly when java was release its name is Oak. After some time the creator of java found the name Java.
I found some of the intersting things like the code names of the reeases of the java which I am going to describe below.
VERSION CODE NAME RELEASE DATE
VersionDescription of Code NameCode NameDate of Release
JDK 1.1.4SparklerSept 12, 1997
JDK 1.1.5PumpkinDec 3, 1997
JDK 1.1.6A female character in BibleAbigailApril 24, 1998
JDK 1.1.7Roman cognomen used by several politiciansBrutusSept 28, 1998
JDK 1.1.8Name of a person/Football clubChelsea April 8, 1999
J2SE 1.2PlaygroundPlayground Dec 4, 1998
J2SE 1.2.1 (none) March 30, 1999
J2SE 1.2.2CricketJuly 8, 1999
J2SE 1.3Kestrel May 8, 2000
J2SE 1.3.1Ladybird May 17, 2001
J2SE 1.4.0MerlinFeb 13, 2002
J2SE 1.4.1HopperSept 16, 2002
J2SE 1.4.2MantisJune 26, 2003
J2SE 5.0 (1.5.0)TigerSept 29, 2004
Java SE 6Mustang
Java SE 7 Dolphin
You can these names on the sun website.
Here is the brief history of java. Some of you wanted to know that how many packages are there in java when it is officially released well here are the some facts.
Java 1.0 - 212 classes in 8 packages
Java 1.1 - 503 classes in 23 packages
Java 1.2/2.0 - 1,520 classes in 59 packages
Java 1.3 - 1842 classes in 76 packages
Java1.4 - 2991 classes in 135 packages
Java 5.0 - 3562 classes in 166 packages

Friday, June 13, 2008

Deadly Combination

Yes, Deadly combination!! It doesn't means that there would some super stars of the film who would go the devil place and finish him. No No !!

I am talking about the deadly combination used in the development of the web sites. I am talking about the tools used for the Java development. Any guesses so far....

Yes, they are Struts2, Spring, and Hibernate

I am currently working all these tools. I am amazed to see the power of all the three technologies and how they makes the life of a developer like me, so easy.
All of three would make your project a huge success.

Now talking about Struts2... It is great framework with the inbuilt Ajax tags that would help many developers. Many new features of the struts2 are marvelous.

Hibernate... I already told in my last post about this. Hibernate would provide you a greater facility for your data persistence. its in built architecture that is fully object oriented which makes it a powerful tool. And yes, not to forget about the HQL (Hibernate Query Language).

Spring... Again a master piece framework which lets you to do handle hibernate and specially the IOC (Inversion of Control) that lets programmers to walk to the higher level. Spring have many in built functionalities that help in various ways. One of them is scheduling of tasks. Before this you have to do manually write lots of code but now with a fewer code you can achieve greater flexibility.

So enjoy working with the deadly combination ......

Thursday, June 12, 2008

Hibernate Rocks

After few days working on hibernate I found it very interesting and useful tool for the developers. It allows to handle code more efficiently while working on the database part.
Since I am new to it I don't know all the features of the hibernate, but yes the features that I had used are tremendous and the code is more reliable and efficient.
All the connection management is handled by it. And specially the mapping files which allows us to connect to the database
i enjoyed working with it and hopes it will provide more features in the future.

Changing default style of <s:actionerror/> / <s:actionmessage/> tag

In struts 2 when you put <s:actionerror /> tag it displays the errors in the following way:

<ul>
<li>error 1</li>
<li>error 2</li>
</ul>


But sometimes it seems to be very ugly when displaying the dot (.) in the action errors or action messages

Below is a normal code that displays the tags in your customized way.
You can specify your own css for this

<s:if test="hasActionErrors()">
<s:iterator value="actionErrors">
<span class="errorMessage"><s:property escape="false" />
</span>
</s:iterator>
</s:if>
Alternatively you can change the file in the "/template/simple/actionerror.ftl” and put it in the /web-directory/struts/simple if using simple theme

Similar for <s:actionmessage /> tag.

Enjoy Struts