overview of this exampel and download
Monday, March 8, 2010
1 comments
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
ControllerServlet.java
DBClass.java
web.xml file
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()%> </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>
</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: