Friday, March 19, 2010
Add Graphs by Using JFree Chart
Step1: Download Demo Application of JfreeChart demo and get library jar.
Step2: Add following lines in your code and import files which is required.
JFreeChart chart = ChartFactory.createPieChart("Pie Chart created by Deepak Pandey", pieDataset, true, true,true);
BufferedImage bi = chart.createBufferedImage(500, 500);
chart.setBackgroundPaint(new Color(173, 230, 163));
BufferedImage buf = chart.createBufferedImage(500, 500, null);
try {
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response.getOutputStream());
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(buf);
param.setQuality(0.75f, true);
encoder.encode(buf, param);
} catch (Exception e) {
System.out.println("Exception in JSP"+e);
}
Step3: Run you application
You can create this chart on a frame.
Create JFrame Object. and then add JFreeChart object and make this JFrame Object visible.
More Information of this JFreeChart,access following link
http://www.jfree.org
Thanks!!!
Tuesday, March 2, 2010
Custom tag
package deep;
import javax.servlet.jsp.tagext.BodyTagSupport;
import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class Deepak extends BodyTagSupport {
BodyContent bodyContent;
public int doStartTag() throws JspException {
return EVAL_BODY_TAG;
OR
return SKIP_BODY;
}
public void setBodyContent(BodyContent
bodyContent) {
this.bodyContent = bodyContent;
}
public int doAfterBody() throws JspException {
return EVAL_BODY_TAG;
OR
return SKIP_BODY;
}
public int doEndTag() throws JspException {
return EVAL_PAGE;
}
}
//If It returns SKIP_PAGE,then code after the tag will not be executed ,in case of EVAL_PAGE it willbe calculated
2)Create tld(For ex:deep.tld)
3)Edit your web.xml
4)Add line in your JSP page
<%@ taglib uri="/WEB-INF/tag/name.tld" prefix="n" %>and use tag which you defined earlier
5)Run your application
These are the steps which involved in making custom tag.Any suggestion or correction,plz leave comment.
Thanks
Deepak
Sunday, February 7, 2010
Project Management System
Features
Managing project: User can add projects,view project according to enable/disable,update its detail
Monitoring task: Add task under projects,update its status etc
Managing organization:Add,View and edit organisation.Admin user will assign project to user for an organisation.
Gantt chart: User can analyze project status by using Graphical Interface.
Managing resource: Add Member for your project.
N-level user: Every level of user can add its subordinate user.
Document sharing: Upload/download document for projects.
Reporting on demand:Report generation according to project status,user,task etc
Security:Proper authentication etc
E-mail notification: When a user is added or he assign task etc, a notification mail hasbeen sent.This mail configuration is configurable.
We are still working for features,for good graphics desgin and more user friendly,more graphics. And i request you to everyone,plz give suggession for more correction.It is an open source project and anyone can use and customize acording to their needs.
URL for this application:
http://202.141.40.218/
Thanks
Deepak
Thursday, January 21, 2010
Validation using validator framework
1)Create a new web application
2)Add struts capabilities
3)create new action,form and jsp
4)Add the following lines in Struts-config.xml
//This is for validator plug in
plug-in className="org.apache.struts.validator.ValidatorPlugIn">
set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
and in action tag ,add (validate="true") also.
6)Edit validation.xml
?xml version="1.0" encoding="UTF-8"?>
!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
form-validation>
formset>
form name="loginform" >
field property="name" depends="required,minlength" >
arg0 key="err.name" />
arg1 key="${var:minlength}" name="minlength" resource="false" />
var>
var-name>minlength
var-value>3
/field>
field property="pass" depends="required" >
arg0 key="err.pass" />
/field>
/form>
/formset>
/form-validation>
7)Edit Form JSP
html:javascript formName="loginform"/>
html:form action="login" onsubmit="return validateLoginform(this)">
onsubmit return validateFormName(this).
8)Test your application
Thanks
deepak
Thursday, January 14, 2010
Use Tiles in your Struts Application
For Eclise:
1) Create New Web-Project
2)Add Struts Capabilities.
3)Create "layout.jsp"
Use this Syntax:
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
tiles:insert attribute="header"/>
How you want to show your page.Like header,footer,main,left,body etc.Specify it here.
4)Make following Entry in "tiles-defs.xml"
tiles-definitions>
-- Base Tiles Definition
This is the main definition.You extend it in other definition.
It means if you can use same jsp or override it.
-->
definition name="base.definition" path="/Layout.jsp">
put name="header" value="/WEB-INF/JSP/header.jsp" />
put name="left" value="/WEB-INF/JSP/LeftLink.jsp"/>
put name="left" value="/WEB-INF/JSP/welcome.jsp"/>
put name="footer" value="/WEB-INF/JSP/footer.jsp" />
-- Tiles Definition of welcome page -->
definition name="page.welcome" extends="base.definition">
put name="title" value="Welcome page" />
put name="body" value="/WEB-INF/JSP/welcome.jsp" />
5)Edit Struts-Config.XML
Required part:
plug-in className="org.apache.struts.tiles.TilesPlugin">
set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml"/>
set-property property="moduleAware" value="true" />
set-property property="definitions-parser-validate" value="true" />
And define your actions as you want.
redirect="true" />
action-mappings>
action path="/welcome"
type="home.WelcomeAction">
forward name="showWelcome" path="page.welcome" />
action path="/leftlink"
type="home.LinkAction">
forward name="showLink" path="page.left" />
6)Create jsp according to your view and URL which you are giving in tiles-defs package
7)Create your actions.
8)Run your application.
I think it is useful.If any required step is still remaining,plz correct it.
Thanks
Deepak
Thursday, August 27, 2009
Tree Structure in JSP
Its very useful if you want to show some structure in hierarchical way.
Requirement:treetag.jar and taglib49.tld (I can't upload here these files,you can download it form internet)
edit your web.xml file:
description This is the tree structure description
display-name Deepak display-name
servlet-name xmlTree servlet-name
servlet-class xmlTree servlet-class
servlet
servlet-mapping tree servlet-name
url-pattern /run1 url-pattern
servlet-mapping
taglib
taglib-uri /com/cj/tree taglib-uri
taglib-location /WEB-INF/Tag/taglib49.tld taglib-location
taglib
Now write in your jsp following line:
for JSP or in struts application,use following lines:
<%
root=new com.cj.tree.TreeBean();
root.setCode("Root");
root1=new com.cj.tree.TreeBean();
root1.setCode("deepak pandey");
rec("deepak pandey",root1);//this fuction is defined,because i want to get tree dynamically
root.addChild(root1);
%>
<%!
ResultSet rs=null;
com.cj.tree.TreeBean root;
com.cj.tree.TreeBean root1;
void rec(String s1,com.cj.tree.TreeBean root1)
{
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/pms1?user=root&password=123");
PreparedStatement ps1=con.prepareStatement("SELECT user_Id,project_name FROM validate v where permittedby=? and Project_Name='PMS'");
ps1.setString(1,s1);
ResultSet rs1=ps1.executeQuery();
while(rs1.next())
{
System.out.println(rs1.getString(1));
com.cj.tree.TreeBean node11=new com.cj.tree.TreeBean();
node11.setCode(""+rs1.getString(1));
rec(rs1.getString(1),node11);
root1.addChild(node11);
}
}
catch(Exception e1){System.out.println("error is"+e1);}
}
%>
tree:createTree defaultConnectors="false" treePicture="order_asc.gif" nodePicture="order_asc.gif" openPicture="order_desc.gif" verticalConnector="vertical.gif" middleConnector="middle.gif" modelBean="<%=root%>" dhtml="true"
Another way :
<%= "This is Tree Structure" %>
tree:createTree dhtml="true"//for image etc write in this tag
tree:addNode code="Deep"
tree:addNode code="Deepak1.1"
tree:addNode code="Deepak1.2"
tree:addNode code="Deepak1.2.1"
tree:addNode code="Deepak1.2.2"
tree:addNode>
tree:addNode code="Deepak1.3"
tree:addNode>
tree:addNode code="Deepak2"
tree:createTree>
tree:createTree>
For any query,you can ask.
Monday, June 29, 2009
a basic application in Struts
Struts is a free open-source framework for creating Java web applications.
Model-View-Controller (MVC) architecture:
The Model represents the business or database code, the View represents the page design code, and the Controller represents the navigational code. The Struts framework is designed to help developers create web applications that utilize a MVC architecture.(Learn MVC before learning Struts)
The framework provides three key components:
A "request" handler provided by the application developer that is mapped to a standard URI.
A "response" handler that transfers control to another resource which completes the response.
A tag library that helps developers create interactive form-based applications with server pages.
Setting Up Development Environment:
1)jdk 1.6 2)Tomcat 6.0 3)Eclipse
Step 1:-On Eclipse create new Web project and add Struts capabilities.(In myEclipse-->Click on myEclipse and project capabilities and add Struts capabilities)
Step 2:-Now create a New Form,action and JSP.
(select project-->new-->other-->MyEClipse-->WebStruts-->Struts 1.2-->Form,action,jsp)
Give name ,super class(ActionForm)
if you everything is right,it should be there.
Inside src:
1)A form bean:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.yourcompany.struts.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
/**
* MyEclipse Struts
* Creation date: 05-20-2009
*
* XDoclet definition:
* @struts.form name="myForm"
*/
public class MyForm extends ActionForm {
/*
* Generated fields
*/
/*
* Generated Methods
*/
/**
* Method validate
* @param mapping
* @param request
* @return ActionErrors
*/
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// TODO Auto-generated method stub
return null;
}
/**
* Method reset
* @param mapping
* @param request
*/
public void reset(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
}
/*here you will get getter and setter of Properties,which you gave*/
}
3)A property file is also there.
# Resources for parameter 'com.yourcompany.struts.ApplicationResources'
# Project StrutsDemo
key=value
2)Action class
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.yourcompany.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.yourcompany.struts.form.MyForm;
/**
* MyEclipse Struts
* Creation date: 03-20-2009
*
* XDoclet definition:
* @struts.action path="/my" name="myForm" input="/form/my.jsp" scope="request" validate="true"
*/
public class MyAction extends Action {
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
/* Write logic here or function which you want to perform*/
MyForm myForm = (MyForm) form;// TODO Auto-generated method stub
return mapping.findForward null;
}
}
Inside WEB-INF
3)Struts_config
I feel its the heart of struts.
Entries are given below:
attribute="myForm"
input="/form/my.jsp"
name="myForm"
path="/my"
scope="request"
type="com.yourcompany.struts.action.MyAction" >
name="success"
path="/Success.jsp"
redirect="true" />
4)web.xml
Step 3:Now you can run struts application.Give some fields in your form and try to print them in your JSP,which you will call.
For any mistake,sorry!!
and for query,plz ask.
Thanks
Deepak