Monday, October 3, 2011

servlet API


Servlet API:

To develop servlets we need SERVLET API support. We have 2 Packages for Developing Servlet.
  1. javax.servlet
  2. javax.servlet.http

servlet: 

  this interface provides life cycle methods for our servlets. The life cycle methods are
  1.   init(ServletConfig)
  2.   service(ServletRequest,ServletResponse)
  3.     destroy()

  in our Servlet class we override these methods. Servlet engine calls these methods implicity.servlet interface           has 2 more methods, which are non life cycle methods


  1.               getServletConfig():- it return ServletConfig object
  2.               getServletInfo():- it returns a string that gives servlet information

GenericServlet:-

This is an abstract class. This class implements servlet interface. It defined init(ServletConfig) and destroy() methods of the servlet interface. The third life cycle method service() is not defined in the GenericServlet class. This class also implements the ServletConfig interface. Therefore all the methods of ServletConfig interface can be called directly on the servlet interface itself. GenericServlet class defines one zero argument init method. Parameterized init method defined by the GenericServlet calls this zero argument init method. Therefore servlet developers can override only zero argument method in their servlet classes.

HttpServlet:-

                This is an abstract  class. It is a sub class of GenericServlet class. Servlet developers always defines their servlet class by extending this class. service method of the GenericServlet is implemented in this class. in addition to the public service method ,HttpServlet class has defined the following methods.

  1.                 protected void service(HttpServletRequest, HttpServletResponse)
  2.                 protected void doGet(HttpServletRequest, HttpServletResponse)
  3.                 protected void doPost(HttpServletRequest, HttpServletResponse)
servlet engine calls only public service method, within the public service method protected service method is called. Within the protected service method of the HttpServlet class , either doGet or doPost method is called depending upon thetype of request (GET or  Post) coming from the client. In our servlet class we always overrides either doGet() or doPost() .we never overrides the public service() or protected service().

  
ServletConfig:-

                This is an interface in java.servlet package.  Servlet engine writes a sub class of  ServletConfig interface and creates its instance. But we call it as ServletConfig object only.

                Methods:

  1.  String getInitParameter(String): this method is used to get init param value by supplying param name as input.
  2. ServletContext getServletContext() :-when we will call this method it returns the ServletContext object.              

 ServletContext:-

                This is an interface in java.servlet package.  Servlet engine writes a sub class of  ServletContext interface and creates its instance. But we call it as ServletContext object only. In the servlet programming this object is very widely used. For a servlet this object is directly available. We call a method in servlet to get the ServletContext object.

ServletContext sc=getServletContext();

In the above statement we are calling getServletContext() on the servlet interface. But internally it is called on the ServletConfig object.
            
    Methods:

  1. getInitParameter() :- it takes context param name and returns the corresponding value.
  2. setAttribute() : -stores a data item in context scope with name ,value pair.
  3. getAttribute() :-takes the attribute name and returns the value.
  4.  removeAttribute() :-delete the data item from the context scope.
  5. getRequestDispatcher() :-this method returns the RequestDispacher object.
  6. getServerInfo() :-it returns the web container information as a string .
  7. log() :-used for store the information into web container log files.

HttpServletRequest:

This is an interface in javax.servlet.http package. it as sub interface of ServletRequest interface. Servlet engine writes a sub class of HttpServletRequest interface and creates its instance. But we call it as HttpServletRequest object only.

                Methods:

  1.  getParameter() :- it takes html control name and returns the user input
  2.  setAttribute() : -stores a data item in request scope with name ,value pair.
  3. getAttribute() :-takes the attribute name and returns the value.
  4. removeAttribute() :-delete the data item from the request scope.
  5. getRequestDispatcher() :-this method returns the RequestDispacher object.
  6.  getCookies() :-it returns an array of Cookies coming from the browser.
  7. getSession(() :-returns the HttpSession Object which is unique for the client.
  8. getQueryString() :-Returns the query string that is contained in the request URL after the path.
  9. getHeaderNames() :-Returns an enumeration of all the header names this request contains.
  10. getHeader() :-it takes the header name and returns the header value.

HttpServletResponse:

This is an interface in javax.servlet.http package. it as sub interface of ServletResponse interface. Servlet engine writes a sub class of HttpServletResponse interface and creates its instance. But we call it as HttpServletResponse object only.
          
      Methods:
  1.  getWriter() :-it returns the PrinterWriter object.
  2.  setContentType() :-this method set the MIME type for the response.
  3. getOutputStream() :-returns the OutputStream object.
  4.  addCookie() :-it addsa cookie to the response header.
  5. encodeURL() :- this method is used to URL rewriting .
  6. sendRedirect() :-sends a temporary redirect response to the client.
  7.  sendError() :-sends an error response to the client using error status.
  8. setHeader() :- sets a response header with the given name and value.
  9.  addHeader() :-adds a response header with the given name and value.

RequestDispacher:-
         
       It is an interface. Servlet container writers a sub class for this interface. Servlet engine produces this sub class object when we call getRequestDispacher() on the request or context object. But we say that object as RequestDispacher object only.

                Methods:
  1.   forward()  :- it forwards the control from the servlet to another web resource.
  2.  Include() :-it includes the response of other web resource into the current servlet response.


Directory Structure:
                Root Directory
                                WEB-INF
                                                classes
                                                lib
                                                src
                                                web.xml
                                Resource files

Root directory name should be anything usually it is name of the project/application
classes directory used to keep the java class file(.class files)
lib directory contains the jar file(.jar files)
src or source directory for java files(.java)
web.xml file is call deployment descriptor file
the above files and directories are under “WEB-INF” directory
resource contains the image and html or jsp file …….etc.

Example Project

Sunday, October 2, 2011

Store the data in "ArrayList" object



/* Retrieves the Records form data base and store the data in ArrayList object */
import java.sql.*;
public class Store_Records

{
public static void main(String args[])
{
try
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
System.out.println("thin driver is registerd");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","system");
System.out.println("Connection is established to DB");
Statement stmt=con.createStatement();
System.out.println("Statement object is created");
ResultSet rs=stmt.executeQuery("select *from student");
System.out.println("sno"+" "+"name"+" "+"place");
System.out.println("--------------------------------------");
ArrayList a=new ArrayList();
while(rs.next())
{
a.sadd("sno");
a.add("name");
a.add("place");
}
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Registeration faild");
}
}
}

Saturday, October 1, 2011

web.xml file


<web-app>
<context-param>
<param-name>driverclassname</param-name>
<param-value>oracle.jdbc.driver.OracleDriver</param-value>
</context-param>
<context-param>
<param-name>url</param-name>
<param-value>jdbc:oracle:thin:@localhost:1521:xe</param-value>
</context-param>
<servlet>
<servlet-name>ab</servlet-name>
<servlet-class>AddBook</servlet-class>
<init-param>
<param-name>dbuser</param-name>
<param-value>system</param-value>
</init-param>
<init-param>
<param-name>dbpass</param-name>
<param-value>system</param-value>
</init-param>
<init-param>
<param-name>sqlstatement</param-name>
<param-value>insert into AddBook values(?,?,?,?)</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ab</servlet-name>
<url-pattern>/AddBook</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>srf</servlet-name>
<servlet-class>StudentRegForm</servlet-class>
<init-param>
<param-name>dbuser</param-name>
<param-value>system</param-value>
</init-param>
<init-param>
<param-name>dbpass</param-name>
<param-value>system</param-value>
</init-param>
<init-param>
<param-name>sqlstatement</param-name>
<param-value>insert into AddBook values(?,?,?,?,?,?,?)</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>srf</servlet-name>
<url-pattern>/StudentRegForm</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>af</servlet-name>
<servlet-class>AddFee</servlet-class>
<init-param>
<param-name>dbuser</param-name>
<param-value>system</param-value>
</init-param>
<init-param>
<param-name>dbpass</param-name>
<param-value>system</param-value>
</init-param>
<init-param>
<param-name>sqlstatement</param-name>
<param-value>insert into AddBook values(?,?,?,?,?,?,?,?)</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>af</servlet-name>
<url-pattern>/AddFee</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>ul</servlet-name>
<servlet-class>UserLogin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ul</servlet-name>
<url-pattern>/UserLogin</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>al</servlet-name>
<servlet-class>AdminLogin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>al</servlet-name>
<url-pattern>/AdminLogin</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>sb</servlet-name>
<servlet-class>SearchBook</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>sb</servlet-name>
<url-pattern>/SearchBook</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>fee</servlet-name>
<servlet-class>Fee</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>fee</servlet-name>
<url-pattern>/Fee</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>

Next Link Program

Fee java File


import javax.servlet.http.*;
import java.sql.*;
import javax.servlet.*;
import java.io.*;
public class Fee extends HttpServlet
{
private Connection con;
private PreparedStatement ps=null;
public void init()throws ServletException
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","sysrem","system");
ps=con.prepareStatement("select *from AddBook where bookname=?");
}
catch(Exception e)
{
e.printStackTrace();
}

}
public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
response.setContentType("text/html");
PrintWriter out=response.getWriter();
try{
String fee=request.getParameter("fee");
if(fee==null||fee.equals(""))
{
out.println("<html><body>");
out.println("<li><i>enter the course</i></li><br/>");
out.println("</body></html>");
}
ps.setString(1,fee);
ResultSet rs=ps.executeQuery();
while(rs.next())
{
out.println("<html><body>");
out.println("<table border=1>");
out.println("<tr><td>rs.getString(1)<td>");
out.println("<td>rs.getString(2)</td>");
out.println("<td>rs.getString(3)</td>");
out.println("<td>rs.getString(4)</td>");
out.println("<tr><td>rs.getString(5)<td>");
out.println("<td>rs.getString(6)</td>");
out.println("<td>rs.getString(7)</td>");
out.println("<td>rs.getString(8)</td>");
out.println("</tr></table>");
out.println("</body></html>");
}
}
catch(Exception e)
{
}
}
public void destroy()
{
try{
con.close();
}
catch(Exception e)
{
}
}
}

Next Link Programe

AddBook java file


import javax.servlet.http.*;
import java.sql.*;
import javax.servlet.*;
import java.io.*;
public class AddBook extends HttpServlet
{
private Connection con;
private PreparedStatement ps=null;
public void init()throws ServletException
{
try
{ //we get the information from the web.xml file
ServletContext ctxt=getServletContext();
String driverclassname=ctxt.getInitParameter("driverclassname");
String url=ctxt.getInitParameter("url");
String dbuser=ctxt.getInitParameter("dbuser");
String dbpass=ctxt.getInitParameter("dbpass");
String sqlstmt=ctxt.getInitParameter("sqlstatement");
con=DriverManager.getConnection(url,dbuser,dbpass);
ps=con.prepareStatement(sqlstmt);
}
catch(Exception e)
{
e.printStackTrace();
}

}
public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
response.setContentType("text/html");
PrintWriter out=response.getWriter();
try{
String bookname=request.getParameter("bookname");
String auther=request.getParameter("auther");
String bookno=request.getParameter("bookno");
String desc=request.getParameter("desc");

ps.setString(1,bookname);
ps.setString(2,auther);
ps.setString(3,bookno);
ps.setString(4,desc);
int count=ps.executeUpdate();
if(count==1)
{
out.println("successfully added a book");
}
else
{
out.println("<html><body><h1> sorry try again</h1></body></html>");
}
}
catch(Exception e)
{
}
}
public void destroy()
{
try{
con.close();
}
catch(Exception e)
{
}
}
}

Next Link Program

UserLogin Java File


import javax.servlet.http.*;
import java.sql.*;
import javax.servlet.*;
import java.io.*;
public class UserLogin extends HttpServlet
{
private Connection con;
private PreparedStatement ps=null;
public void init()throws ServletException
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","sysrem","system");
ps=con.prepareStatement("select *from StudentRegForm where name=? and pass=?");
}
catch(Exception e)
{
e.printStackTrace();
}

}
public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
response.setContentType("text/html");
PrintWriter out=response.getWriter();
try{
String name=request.getParameter("name");
String pass=request.getParameter("pass");
if(name==null||name.equals("")||pass==null||pass.equals(""))
{
out.println("<html><body>");
out.println("<li><i>user name and pass word cnt be empty</i></li><br/>");
out.println("</body></html>");
}
ps.setString(1,name);
ps.setString(2,pass);
}
catch(Exception e)
{
out.println("<h2>un ble</h2>");
}
}
public void destroy()
{
try{
con.close();
}
catch(Exception e)
{
}
}
}
Next Link Program

StudentRegForm Java file


import javax.servlet.http.*;
import java.sql.*;
import javax.servlet.*;
import java.io.*;
public class StudentRegForm extends HttpServlet
{
private Connection con;
private PreparedStatement ps=null;
public void init()throws ServletException
{
try
{ //we get the information from the web.xml file
ServletContext ctxt=getServletContext();
String driverclassname=ctxt.getInitParameter("driverclassname");
String url=ctxt.getInitParameter("url");
String dbuser=ctxt.getInitParameter("dbuser");
String dbpass=ctxt.getInitParameter("dbpass");
String sqlstmt=ctxt.getInitParameter("sqlstatement");
con=DriverManager.getConnection(url,dbuser,dbpass);
ps=con.prepareStatement(sqlstmt);
}
catch(Exception e)
{
e.printStackTrace();
}

}
public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
response.setContentType("text/html");
PrintWriter out=response.getWriter();
try{
String sname=request.getParameter("sname");
String sid=request.getParameter("sid");
String pwd=request.getParameter("pwd");
String course=request.getParameter("course");
String email=request.getParameter("email");
String phone=request.getParameter("phone");
String addr=request.getParameter("addr");

ps.setString(1,sname);
ps.setString(2,sid);
ps.setString(3,pwd);
ps.setString(4,course);
ps.setString(5,email);
ps.setString(6,phone);
ps.setString(7,addr);
int count=ps.executeUpdate();
if(count==1)
{
out.println("successfully added a book");
}
else
{
out.println("<html><body><h1> sorry try again</h1></body></html>");
}
}
catch(Exception e)
{
}
}
public void destroy()
{
try{
con.close();
}
catch(Exception e)
{
}
}
}

Next Link Program

search a book



<html>
<head>
<title>Search A Books</title>
</head>
<body bgcolor="#ffeebb">
<div style="position:absolute;left:200;top:100;">
<form name="sregform">
<table border=0 bgcolor="#ffee33">
<tr><td colspan="2"><center><h2>Search A Books</h2></center></td></tr>
<tr><td>Book Name</td><td><input type="text" name="dur"></td></tr>
<tR><td colspan="2"><center><button value="search">SEARCH</center></td></tr>
</table>
</form>
</div>
</body>
</html>


Next Link Program

add book to library



<html>
<head>
<title>Add Books TO Library</title>
</head>
<body bgcolor="#ffeebb" action="./AddBook">
<div style="position:absolute;left:200;top:100;">
<form name="sregform">
<table border=0 bgcolor="#ffee33">
<tr><td colspan="2"><center><h2>Add New Books TO Library</h2></center></td></tr>
<tr><td>Book Name</td><td><input type="text" name="bookname"></td></tr>
<tr><td>Auther</td><td><input type="text" name="auther"></td></tr>
<tr><td>Book No</td><td><input type="text" name="bookno"></td></tr>
<tr><td>Description</td><td><textarea rows=4 cols=17 name="desc"></textarea></td></tr>
<tR><td colspan="2"><center><button value="OK">OK</center></td></tr>
</table>
</form>
</div>
</body>
</html>


Next Link Program

get course details




<html>
<head>
<title>Course</title>
</head>
<body bgcolor="#ffeebb" action="./Course">
<div style="position:absolute;left:200;top:100;">
<form name="">
<table bgcolor="#ffee33">
<tr><td colspan="2"><center><h2>Get Course Details</h2></center></td></tr>
<tr><td>Course</td>
<td>
<select name="course">
<option value="B.Tech">B.Tech</option>
<option value="B.Sc">B.Sc</option>
<option value="pharmacy">pharmacy</option>
<option value="mca">MCA</option>
<option value="mba">MBA</option>
<option selected value="select course">select course</option>
</select></td></tr>
<tr><td colspan="2"><center><button>Get Details</button></center></td></tr>
</table>
</form>
</div>
</body>
</html>


Next Link Program

user login form




<html>
<head>
<title>User Login</title>
</head>
<body bgcolor="#ffeebb" action="./UserLogin">
<div style="position:absolute;left:200;top:100;">
<form name="sregform">
<table border=0 bgcolor="#ffee33">
<tr><td colspan="2"><center><h2>User Login</h2></center></td></tr>
<tr><td>Student Name</td><td><input type="text" name="name"></td></tr>
<tr><td>PassWord</td><td><input type="text" name="pwd"></td></tr>
<tR><td colspan="2"><center><input type="submit" value="login"></center></td></tr>
</table>
</form>
</div>
</body>

</html>


Next Link Programe

student reg form


<html>
<head>
<title>student registration form</title>
</head>
<body bgcolor="#ffeebb" action="./StudentRegForm">
<div style="position:absolute;left:200;top:100;">
<form name="sregform">
<table border=0 bgcolor="#ffee33">
<tr><td colspan="2"><center><h2>Student Registration Form</h2></center></td></tr>
<tr><td>Student Name</td><td><input type="text" name="sname"></td></tr>
<tr><td>Student ID</td><td><input type="text" name="sid"></td></tr>
<tr><td>Password</td><td><input type="text" name="pwd"></td></tr>
<tr><td>Re-type pass word</td><td><input type="text" name="rpwd"></td></tr>
<tr><td>Course</td><td><select name="course">
<option value="B.Tech">B.Tech</option>
<option value="B.Sc">B.Sc</option>
<option value="pharmacy">Pharmacy</option>
<option value="mca">MCA</option>
<option value="mba">MBA</option>
<option selected value="select course">select course</option>
</select></td></tr>
<tr><td>Email</td><td><input type="text" name="email"></td></tr>
<tr><td>Phone</td><td><input type="text" name="phone"></td></tr>
<tr><td>Address</td><td><textarea rows=4 cols=17 name="addr"></textarea></td></tr>
<tR><td><input type="submit" value="REGISTER"></td><td><input type="reset"></td></tr>
</table>
</form>
</div>
</body>
</html>

Next Link Programe

Home Page









<html>
<head>
</head>
<frameset rows="20%,80%">
<frame src="./log.html">
<frameset cols="20%,60%,20%">
<frame src="./sub.html">
<frame src="./blank.html" name="mid">
<frame src="./adds.html">
</frameset>
</frameset>
</html>


Next Link Programe

Thursday, September 29, 2011

Display Records as Normal


Display Record

import java.sql.*;
class DisplayRecord
{
public static void main(String[] args) throws Exception
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","system");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select eno,name from emp3");
System.out.println(rs);
while(rs.next())
{
int deno=rs.getInt("eno");
System.out.println("Eno: "+deno);
String s=rs.getString("name");
System.out.println("Nane: "+s);
}
}
}

Using Index Retrive Data From The Table
Using Prepared Statement
retrieve-records

Display Record Using Index


DisplayRecordIndex

//Retrive the data from DB and display it Using with INDEXS

import java.sql.*;
import java.sql.*;
class DisplayRecordIndex
{
public static void main(String[] args) throws Exception
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","system");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select eno,name from emp3");
System.out.println(rs);
while(rs.next())
{
int deno=rs.getInt(1);
System.out.println("Eno: "+deno);
String s=rs.getString(2);
System.out.println("Nane: "+s);
}
con.close();
System.out.println("connection is closed");
}
}


Using Prepared Statement 
retrieve-records