Wednesday, August 30, 2017

Java example for generating a table of a number and for loop

/* this example explains two important topics of Java
1. for loop
2. generate the table of any number got from keyboard
*/
 
import java.util.Scanner;

public class TableOfInteger {
     // start of main() function
        public static void main(String[] args) {

        Scanner keyboard = new Scanner(System.in);
        // get an object of Scanner class for getting input from keyboard
        System.out.println("enter an integer for generate table ");
        int table = keyboard.nextInt();
        // for loop
        for(int i=1;i<=10;i++)
                                System.out.println(table + "X" + i +"=" +table*i);
       
                        
}
//end of main function()

}

Monday, August 28, 2017

If-else statement, read input from keyboard (by java.util.Scanner) and Find if a number is Even Or Odd example in Java



/* this example explains three important topics of Java
1. read input from keyboard
2. if-else statement
3. calculate if the number is even or odd
  */

import java.util.Scanner;

public class FindEvenOrOddNumber {

        public static void main(String[] args) {
        // main() function

        Scanner keyboard = new Scanner(System.in);
        // Scanner object to read input from keyboard
        System.out.println("enter an integer");
        int even_odd = keyboard.nextInt();
         if(even_odd%2 == 0) //check if number is odd or even
                                System.out.println(even_odd + " is even number.");
                         else
                                System.out.println(even_odd + " is odd number.");
}

}

Sunday, August 27, 2017

Hello world example in Java

public class Hello{

//main() function start
  public static void main(String args[]){



   
    System.out.println("Hello World !");
//command to print on the console

  }
// main function finish
}

Saturday, November 15, 2014

Uploading Image in jsp, java, Netbeans

i had spent a lot of time for uploading an image in jsp page.so to help you guys i am writing this blog.
the way to upload the desired image is as below(neteans project)

1. Put the image file in web folder(where all the web pages are placed.)
2. Wright the code

<%String s=request.getContextPath() + "/abc.JPG";%>
<img src="<%=s%>" width = "500" hight = "600" aligh = "center" />

3. Mention the extensions of image carefully i.e(.jpeg, jpg are not treated as same)

for any other query keep posting.
Good Luck!!!

Monday, November 10, 2014

Create and display dynamic Chart in JSP using Database inputs(jFreeChart Library)


   
  <% // JSP code that generates chart of database(Time-Speed  which was my application requirement) and //returns chart image whenever called  %>

<%// required packages  %>
<%@ page import="java.awt.Image" %>
<%@ page import="java.awt.*"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%@ page import="java.awt.BasicStroke"%>
<%@ page import ="org.jfree.ui.ApplicationFrame"%>
<%@ page import="java.io.*" %>
<%@ page import="java.io.File"%>
<%@ page import="org.jfree.chart.*" %>
<%@ page import="org.jfree.chart.axis.*" %>
<%@ page import="org.jfree.chart.entity.*" %>
<%@ page import="org.jfree.chart.labels.*" %>
<%@ page import="org.jfree.chart.plot.*" %>
<%@ page import="org.jfree.chart.renderer.category.*" %>
<%@ page import="org.jfree.chart.urls.*" %>
<%@ page import="org.jfree.data.category.*" %>
<%@ page import="org.jfree.data.general.*" %>
<%@ page import="org.jfree.data.time.Minute"%>
<%@ page import="org.jfree.data.time.Hour"%>
<%@ page import="org.jfree.data.time.TimeSeries"%>
<%@ page import="org.jfree.data.time.TimeSeriesCollection"%>
<%@ page import="org.jfree.data.xy.XYDataset"%>
<%@ page import="org.jfree.chart.plot.XYPlot"%>
<%@ page import="org.jfree.chart.renderer.xy.StandardXYItemRenderer"%>
<%@ page import="org.jfree.chart.renderer.xy.XYItemRenderer"%>
 <%@ page import=  "java.sql.Connection" %>
<%@ page import  ="java.sql.DriverManager" %>
<%@ page import = "java.sql.SQLException" %>
<%@ page import = "java.sql.PreparedStatement" %>
<%@ page import = "java.sql.ResultSet" %>
<%@ page import = "java.sql.Statement" %>
 <%@ page import=  "javax.servlet.*" %>
<%@ page import  ="javax.servlet.http.*" %>

<%@ page import="java.awt.image.BufferedImage"%>
<%
 try
 {
 File image = File.createTempFile("image", "tmp");

 //chart class instance
Fms fm = new Fms("Graph");

JFreeChart chart = fm.createChart(fm.dataset);
 ChartUtilities.saveChartAsPNG(image, chart, 500, 400);
//get input stream
 FileInputStream fileInStream = new FileInputStream(image);
//output stream foe returning chart as image
 OutputStream outStream = response.getOutputStream();
 long fileLength;
 byte[] byteStream;
 fileLength = image.length();
 byteStream = new byte[(int)fileLength];
//read chart image
 fileInStream.read(byteStream, 0, (int)fileLength);
//returns chart image whenever called
 response.setContentType("image/png");
 response.setContentLength((int)fileLength);
 response.setHeader("Cache-Control","no-store,no-cache, must-revalidate, post-check=0, pre-check=0");
 response.setHeader("Pragma", "no-cache");
 fileInStream.close();
 outStream.write(byteStream);
 outStream.flush();
 outStream.close();
 }
 catch (IOException e)
 {
 System.err.println("Problem occurred creating chart.");
 }
%>
<%! public class Fms extends ApplicationFrame {  
//Main class
   XYDataset dataset= null;
   public Fms(final String title) {
        super(title);
      dataset= createDataset();
        final JFreeChart chart = createChart(dataset);
        final ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(700, 570));
        chartPanel.setMouseZoomable(true, false);
        setContentPane(chartPanel);
    }
//chart creation method
   JFreeChart createChart(final XYDataset dataset) {
        final JFreeChart chart = ChartFactory.createTimeSeriesChart(
            "Speed Chart",
            "Time",
            "Speed",
            dataset,
            true,
            true,
            false
        );
        chart.setBackgroundPaint(Color.white);
       final XYPlot plot = chart.getXYPlot();
        plot.setBackgroundPaint(Color.lightGray);
        plot.setDomainGridlinePaint(Color.white);
        plot.setRangeGridlinePaint(Color.white);
        plot.setDomainCrosshairVisible(true);
        plot.setRangeCrosshairVisible(false);
        final XYItemRenderer renderer = plot.getRenderer();
        if (renderer instanceof StandardXYItemRenderer) {
            final StandardXYItemRenderer rr = (StandardXYItemRenderer) renderer;
            rr.setShapesFilled(true);
            renderer.setSeriesStroke(0, new BasicStroke(1.0f));
            renderer.setSeriesStroke(1, new BasicStroke(1.0f));
           }      
        final DateAxis axis = (DateAxis) plot.getDomainAxis();
        axis.setDateFormatOverride(new SimpleDateFormat("dd:MM"));
        try{
        final ChartRenderingInfo info = new ChartRenderingInfo
(new StandardEntityCollection());
final File file1 = new File("c:/Documents and Settings/accounts/WebApplication2/web/barchart.png");
ChartUtilities.saveChartAsPNG(file1, chart, 600, 400, info);
        }catch(Exception e){}
        return chart;
    }  
//data set generation method
    private XYDataset createDataset() {
        final TimeSeriesCollection dataset = new TimeSeriesCollection();
        dataset.setDomainIsPointsInTime(true);      
        final TimeSeries s1 = new TimeSeries("Series 1", Minute.class);
         int str = 0;
         int i =0,j= 0 ;
         String str1 = null;
        try{            
      Class.forName("sun.jdbc.odbc.JdbcOdbc");
      Connection con=DriverManager.getConnection("jdbc:odbc:FMSDB",null,null);
      PreparedStatement st;  
      Statement stmt = con.createStatement();
      String query = "Select * from Job_Status";
      stmt.executeQuery(query);
       ResultSet rs = stmt.executeQuery(query);      
           while( rs.next() )
        {                
         str1= rs.getString("Time");
         String sa = str1.substring(11,13);
         String ha = str1.substring(14,16);
        str= rs.getInt("Speed");
        j=Integer.parseInt(sa);
        i=Integer.parseInt(ha);
        String date = rs.getString("Date");
        String y = date.substring(0,4);
         String m = date.substring(5,7);
          String d = date.substring(8,10);
         s1.add(new Minute(i, j, Integer.parseInt(d), Integer.parseInt(m), Integer.parseInt(y)), str);
          }
          }
          catch(Exception e)
          {            
          }
         System.out.println(str1.substring(11,13));
          System.out.println(str1.substring(14,16)+"\t"+str1);                
        dataset.addSeries(s1);  
        return dataset;
    }
    }
%>



HTML Code for calling this JSP file
exp.jsp is the name of above jsp code file in my application
<html>
<body>
<img src="exp.jsp" alt="Progress chart" />
</body>
</html>

Note: To implement this code you will need jFreeChart Library from jFree Org.

Tuesday, November 4, 2014

Reading Data from comm port in Java

//this code first write 0x80 to comm port then it reads 0x32 from comm port and then sends 6 more bytes and  //to terminate the packet it receives  0x70 form comm port.
import java.io.*;
import java.util.*;
import javax.comm.*;
import java.sql.Connection;
import  java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

public class Fms implements Runnable{ 
    static Enumeration portList;
    static CommPortIdentifier portId;
    static SerialPort serialPort;
    static OutputStream outputStream;
    static InputStream inputStream;
    static Thread readThread,dataBase;
    static int crf;
    static int cwf;
    static byte cxc[] = new byte[4];
    static int cxm = 128;//0x80
    static byte[] creadBuffer;//1byte read
    static int creadBuff[]; 
    write rt=new write();
    static read rd;   
     public void run() {
     };
    public static void main(String[] args) {
        int a=10;
        write wr = new write();
        read rd = new read(1);
         int b = 0;
        int speed=0,tcount=0,jcount=0,status=0;
      while(b!=10){      
       for(int j =0 ; j<=1;j++){
            try{
        wr.cwritemain(a); 
         rd.cmainx(a);          
         readThread.sleep(1000);
            }
            catch(Exception e){}
            if(j==0){
                status =creadBuff[1];
                jcount =creadBuff[5];
          System.out.println("results : "+status +"\t"+jcount); 
            }
            if(j==1){
                speed =creadBuff[1]*256+creadBuff[2];//to convert received data in decimal
                tcount =creadBuff[6];
          System.out.println("results : "+speed +"\t"+tcount); 
            }
             }    
    }            
       }
 static class write{        
         public void cwritemain(int m)
{       
             cwf = m;
             cxc[0] = 0x26;
             portList = CommPortIdentifier.getPortIdentifiers();
             System.out.println(portList.hasMoreElements());
while (portList.hasMoreElements()) {                                   
                                        portId = (CommPortIdentifier) portList.nextElement();
                                        if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
                                    
if (portId.getName().equals("COM1"))
{                                  
try {
serialPort = (SerialPort) portId.open("SimpleWriteApp32", 2000);
                                                  } catch (PortInUseException e) {
}
try {
outputStream = serialPort.getOutputStream();

} catch (Exception e) {
}
try {
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (Exception e) {
}
                                               if(cwf==10){
try {
outputStream.write(cxm);// 0x80 written
serialPort.close();
                                                                outputStream.close();
} catch (Exception e) {
}
                                               }
                                        }
                                }
                        }
         }        
    }   
   static class read implements SerialPortEventListener{
      public read(int s) {}
      public void cmainx(int cp) {
crf = 10;
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
if (portId.getName().equals("COM1")) {
try {
                                                    serialPort = (SerialPort) portId.open("readapp32",
2000);
} catch (PortInUseException e) {
System.out.println(e.getMessage());
}
try {
inputStream = serialPort.getInputStream();
} catch (Exception e) {
System.out.println(e);
}
try {
serialPort.addEventListener(this);
} catch (Exception e) {
System.out.println(e);
}
serialPort.notifyOnDataAvailable(true);
try {
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);                                                
} catch (Exception e) {
System.out.println(e);
}
}
}
}                       
}
        public void serialEvent(SerialPortEvent event) {            
            switch (event.getEventType()) {
case SerialPortEvent.DATA_AVAILABLE:
creadBuffer = new byte[8];
                                creadBuff= new int[8];
try {
                                   int i = 0;                               
while (inputStream.available() > 0) { 
                                          creadBuff[i]=inputStream.read();
                                          System.out.println("Data available is: "+creadBuff[i]);                                                  
                                               i++;
}
                                      inputStream.close();
} catch (IOException e) {
}
                                System.out.println("event");
System.out.println("recieved \t"+creadBuffer[0] );
if (creadBuffer[0] == 0x70) {
                                    System.out.println("Got 0x70"+creadBuffer[0] );
serialPort.close();
rd = new read(5);
rd.cmainx(1);// ag
                                }
                                if (creadBuffer[0] == 0x32) {
                                    System.out.println("Got"+creadBuffer[0] );
serialPort.close();                                
                                }
                                serialPort.close();
            }
        }
   }  
   }

Tuesday, May 29, 2012

Datagram Client in Java

// Datagram Client or UDP client
// purpose of this example is to provide a fare idea about the working of UDP client server
// this client example works with server example and link to server example is given at the end of this code
// example works on the concept of UDP protocol (simple transmission model without implicit handshaking)

import java.io.*;
import java.net.*;

public class Client {
   
    public static void main(String[] args) {
     
      DatagramSocket clientSkt = null;
      InetAddress IPAdd = null;
      String text =null;
      DatagramPacket receivePkt= null;
      BufferedReader inFromUser =
         new BufferedReader(new InputStreamReader(System.in));
      try{
      clientSkt = new DatagramSocket();
      IPAdd = InetAddress.getByName("localhost");
      }
      catch(SocketException exp){
          System.out.println(exp);
      }
      catch(UnknownHostException exp){
          System.out.println(exp);
      }     
      byte[] sendData = new byte[1024];
      byte[] receiveData = new byte[1024];
      try{
      text = inFromUser.readLine();
      sendData = text.getBytes();
      DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAdd, 3030);
      clientSkt.send(sendPacket);
      receivePkt = new DatagramPacket(receiveData, receiveData.length);
      clientSkt.receive(receivePkt);
      }
      catch(IOException exp){
          System.out.println(exp);
      }
      String modifiedSentence = new String(receivePkt.getData());
      System.out.println("FROM SERVER:" + modifiedSentence);
      clientSkt.close();
    }
}

Datagram Server Source