overview of this exampel and download

Monday, March 8, 2010 Posted by jagadeesh
download this example and open it with netbeans
and create database. i have taken all fields as strings you create based on your project

download here

if you have any doubts enter your message in right chat box

insertupdate.jsp page

<%-- 
    Document   : index
    Author     : Jagadeesh
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="model.UserBean" %>
<% UserBean bean;
   bean = new UserBean();
   //get request from servlet if data is invalid
   if(request.getAttribute("error")!=null)
   {
       bean = (UserBean)request.getAttribute("error");
   }
   if(request.getAttribute("updateuser")!=null)
   {
       bean = (UserBean)request.getAttribute("updateuser");
   }
%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        
        <form method="post" action="ControllerServlet">
          <CENTER>
            <TABLE border="0"width="600px">
  <TR>
   <TD width="150px">Name:</TD>
   <TD>
                            <INPUT TYPE="text" NAME="userName" value="<%=bean.getUserName()%>" <%=request.getAttribute("updateuser")!=null?"readonly":""%>>
                        </TD>
                        <TD width="350px">
                            <font color="red"><%=bean.getUserNameError()%> &nbsp;</font>
                        </TD>
                </TR>
  <TR>
   <TD width="150px">Date Of Birth:</TD>
   <TD>
                            <INPUT TYPE="text" NAME="dateOfBirth" value="<%=bean.getDateOfBirth()%>">
                        </TD>
                        <TD>
                            <font color="red"><%=bean.getDateOfBirthError()%> </font>
                        </TD>
                </TR>
  <TR>
   <TD width="150px">E-Mail</TD>
   <TD>
                            <INPUT TYPE="text" NAME="email" value="<%=bean.getEmail()%>">
                        </TD>
                        <TD>
                             <font color="red"><%=bean.getEmailError()%> </font>
                        </TD>
                </TR>
  <TR>
   <TD width="150px">Phone no:</TD>
   <TD>
                            <INPUT TYPE="text" NAME="phoneNo" value="<%=bean.getPhoneNo()%>">
                        </TD>
                        <TD>
                            <font color="red"><%=bean.getPhoneNoError()%> </font>
                        </TD>
                </TR>
  <TR>
   <TD colspan="2" align="center">
                            <INPUT TYPE="submit" value="<%=bean.getAction()%>" name="action">
                        </TD>
                        <TD>
                            &nbsp;
                        </TD>
  </TR>
            </TABLE>
          </CENTER>
        </form>
    </body>
</html>


ControllerServlet.java


import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.UserBean;
import validation.ValidateForm;
import database.DBClass;
import java.util.List;
/**
 *
 * @author Jagadeesh
 */
public class ControllerServlet extends HttpServlet {
   
   //declare values to get form values from jsp page
           String userName;
           String dateOfBirth;
           String email;
           String phoneNo;
           String action;

           UserBean bean = new UserBean();
           ValidateForm validateform = new ValidateForm();
           DBClass dbobject = new DBClass();
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
           //get the values from jsp page
            userName = request.getParameter("userName");
            dateOfBirth = request.getParameter("dateOfBirth");
            email = request.getParameter("email");
            phoneNo = request.getParameter("phoneNo");
            action = request.getParameter("action");
           if(action.equals("submit"))
           {
          //set values to bean.For this call below method
            setValuesToBean();

          //check all form values are valid or not. send bean object 
            UserBean checkedbean = validateform.validateData(bean);
            if(!checkedbean.getIsValid())
            {
              
                //if data is invalid.set bean object in request and pass that request to
                //insertupdate.jsp using forward
                checkedbean.setAction("submit");
                request.setAttribute("error",checkedbean);

                RequestDispatcher rd = request.getRequestDispatcher("insertupdate.jsp");
                rd.forward(request, response);
                //now display errors in that jsp page
            }
            else
            {
                  //using DBClass object call insertDetails method and pass bean object
                 dbobject.insertDetails(bean);
                 List list = dbobject.getAlldetails();
                 request.setAttribute("list", list);
                 //forward to insertupdate page using requestdispatcher
                 RequestDispatcher rd= request.getRequestDispatcher("view.jsp");
                 //display a message to client.store message in request object
                //forwarding to jsp
                 rd.forward(request, response);


            }
           }
           if(action.equals("edit"))
           {
               //get userdetails of particular name
               UserBean ubean = dbobject.getDetails(userName);
               request.setAttribute("updateuser",ubean);
               RequestDispatcher rd = request.getRequestDispatcher("insertupdate.jsp");
               rd.forward(request, response);
           }
            if(action.equals("update"))
           {
               setValuesToBean();
               UserBean checkedbean = validateform.validateData(bean);
            if(!checkedbean.getIsValid())
            {

                //if data is invalid.set bean object in request and pass that request to
                //insertupdate.jsp using forward
                 checkedbean.setAction("update");
                request.setAttribute("error",checkedbean);
                RequestDispatcher rd = request.getRequestDispatcher("insertupdate.jsp");
                rd.forward(request, response);
                //now display errors in that jsp page
            }
            else
            {
                  //using DBClass object call insertDetails method and pass bean object
                 dbobject.UpateDetails(bean,userName);
                 List list = dbobject.getAlldetails();
                 request.setAttribute("list", list);
                 //forward to insertupdate page using requestdispatcher
                 RequestDispatcher rd= request.getRequestDispatcher("view.jsp");
                 //display a message to client.store message in request object
                //forwarding to jsp
                 rd.forward(request, response);


            }
           
           }
                if(action.equals("delete"))
           {
               //delete userdetails of particular name
                dbobject.deleteDetails(userName);
               RequestDispatcher rd = request.getRequestDispatcher("view.jsp");
               rd.forward(request, response);
           }
        } 
        catch(Exception e)
        {
            out.println(e);
        }
        finally {
            out.close();
        }
    }
    //this method is used to setvalues to bean
   public void setValuesToBean()
   {
       bean.setUserName(userName);
       bean.setDateOfBirth(dateOfBirth);
       bean.setEmail(email);
       bean.setPhoneNo(phoneNo);
       
   }
   
  
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    } 

  
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    
    public String getServletInfo() {
        return "Short description";
    }

}

ValidateForm.java
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package validation;
import model.UserBean;
/**
 *
 * @author Jagadeesh
 */
public class ValidateForm {

        
    UserBean validBean = new UserBean();
    public UserBean validateData(UserBean ubean)
    {

        //if given username value is not valid then seterror message and set empty value to input
        //field
        if(ubean.getUserName().length()==0)
        {
            validBean.setUserNameError("please enter valid name");
     validBean.setIsValid(false);
            validBean.setUserName("");
        }
        else
        if(!ubean.getUserName().matches("[a-zA-Z]*"))
        {
            validBean.setUserNameError("please enter valid name");
     validBean.setIsValid(false);
            validBean.setUserName("");
   
        }
        //if given username value is valid then seterror message to empty and set value to bean
 else
        {
     validBean.setUserNameError("");
            validBean.setIsValid(true);
     validBean.setUserName(ubean.getUserName());
 }
        

        //if given username value is not valid then seterror message and set empty value to input
        //field
 if(!ubean.getDateOfBirth().matches("\\d{1,2}-\\d{1,2}-\\d{4}"))
        {
            validBean.setDateOfBirthError("please enter valid date");
     validBean.setIsValid(false);
            validBean.setDateOfBirth("");
   
        }
        //if given username value is valid then seterror message to empty and set value to bean
 else
        {
     validBean.setDateOfBirthError("");
            validBean.setIsValid(true);
     validBean.setDateOfBirth(ubean.getDateOfBirth());
 }


        //if given username value is not valid then seterror message and set empty value to input
        //field
 if(!ubean.getEmail().matches("^[\\w-_\\.+]*[\\w-_\\.]\\@([\\w]+\\.)+[\\w]+[\\w]$"))
        {
            validBean.setEmailError("please enter valid email");
     validBean.setIsValid(false);
            validBean.setEmail("");
        }
        //if given username value is valid then seterror message to empty and set value to bean
 else
        {
     validBean.setEmailError("");
             validBean.setIsValid(true);
     validBean.setEmail(ubean.getEmail());
 }
  
 //if given username value is not valid then seterror message and set empty value to input
        //field
 if(!ubean.getPhoneNo().matches("\\d{10}"))
 {
     validBean.setPhoneNoError("please enter valid phoneno");
     validBean.setIsValid(false);
            validBean.setPhoneNo("");
 }
        //if given username value is valid then seterror message to empty and set value to bean
        else
        {
            validBean.setPhoneNoError("");
             validBean.setIsValid(true);
            validBean.setPhoneNo(ubean.getPhoneNo());
 }
        return validBean;
    }
}

DBClass.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package database;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import model.UserBean;

/**
 *
 * @author Jagadeesh
 */
public class DBClass {
 public Connection createConnection() throws ClassNotFoundException,SQLException
    {
        Class.forName("com.mysql.jdbc.Driver");
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/userdbase", "root", "root");
        return connection;
    }
 //we get values from servlet by passing bean object to insertdetails method
     public int insertDetails(UserBean bb) throws SQLException, ClassNotFoundException
     {
        Connection con = createConnection();
        PreparedStatement pstmt = con.prepareStatement("insert into userdetails values(?,?,?,?)");
        //set values to prepared statement object by getting values from bean object
        pstmt.setString(1,bb.getUserName());
        pstmt.setString(2,bb.getDateOfBirth());
        pstmt.setString(3,bb.getEmail());
        pstmt.setString(4,bb.getPhoneNo());
        int i = pstmt.executeUpdate();
        return i;
       
     }
   public List getAlldetails()throws SQLException, ClassNotFoundException
    {
       
        Connection con = createConnection();
        PreparedStatement pstmt = con.prepareStatement("select * from userdetails");
        ResultSet rs = pstmt.executeQuery();
        List list = new ArrayList();
        while(rs.next())
        {
            UserBean ubean = new UserBean();
            ubean.setUserName(rs.getString(1));
            ubean.setDateOfBirth(rs.getString(2));
            ubean.setEmail(rs.getString(3));
            ubean.setPhoneNo(rs.getString(4));
            list.add(ubean);

        }
        return list;
    }
   public UserBean getDetails(String uname)throws SQLException, ClassNotFoundException
    {
       //here we will write code to get a single record from database
       Connection con = createConnection();
        PreparedStatement pstmt = con.prepareStatement("select * from userdetails where user_name=?");
        pstmt.setString(1, uname);
        ResultSet rs = pstmt.executeQuery();
        List list = new ArrayList();
        UserBean ubean = new UserBean();
        while(rs.next())
        {
            
            ubean.setUserName(rs.getString(1));
            ubean.setDateOfBirth(rs.getString(2));
            ubean.setEmail(rs.getString(3));
            ubean.setPhoneNo(rs.getString(4));
        }
        ubean.setAction("update");
        return ubean;
    }
     public void UpateDetails(UserBean ubean, String name)throws SQLException, ClassNotFoundException
    {
         
        Connection con = createConnection();
        PreparedStatement pstmt = con.prepareStatement("update userdetails set date_of_birth=?,e_mail=?,phone_no=? where user_name=? ");
        //set values to prepared statement object by getting values from bean object
        pstmt.setString(1,ubean.getDateOfBirth());
        pstmt.setString(2,ubean.getEmail());
        pstmt.setString(3,ubean.getPhoneNo());
        pstmt.setString(4,name);
        pstmt.executeUpdate();
        
         
    }
      public void deleteDetails(String uname)throws SQLException, ClassNotFoundException
    {
       //here we will write code to get a single record from database
       Connection con = createConnection();
        PreparedStatement pstmt = con.prepareStatement("delete * from userdetails where user_name=?");
        pstmt.setString(1, uname);
               
    }

}

view.jsp

<%-- 
    Document   : view
    Created on : Mar 8, 2010, 10:49:03 AM
    Author     : Jagadeesh
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="java.util.*" %>
<%@page import="model.UserBean" %>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <a href="<%=request.getContextPath()%>/insertupdate.jsp">back</a>
        <table width="100%"border="1">
            <tr>
               <th>Usename</th>
               <th>date of birth</th>
               <th>email</th>
               <th>phone no</th>
               <th>action</th>
            </tr>
            <%
               List list = (List)request.getAttribute("list");
               if(list!=null)
                   {
                     for(int i=0 ; i< list.size();i++)
                         {
                           UserBean ubean =(UserBean) list.get(i);

            %>
                <tr>
                    <td><%=ubean.getUserName()%></td>
                    <td><%=ubean.getDateOfBirth()%></td>
                    <td><%=ubean.getEmail()%></td>
                    <td><%=ubean.getPhoneNo()%></td>
                    <td><a href="ControllerServlet?action=edit&userName=<%=ubean.getUserName()%>">update</a>
                        |
                        <a href="ControllerServlet?action=delete&userName=<%=ubean.getUserName()%>">delete</a>
                </tr>
            <%
                         }
                   }
             %>
        </table>
    </body>
</html>


web.xml file

<?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">
    <servlet>
        <servlet-name>ControllerServlet</servlet-name>
        <servlet-class>ControllerServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ControllerServlet</servlet-name>
        <url-pattern>/ControllerServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>insertupdate.jsp</welcome-file>
        </welcome-file-list>
    </web-app>

Labels:
  1. Thanks lot of man,this is very help for me.

Post a Comment