Struts

Insert,fetch,update delete operation through JDBC struts2.0 framework
adplus-dvertising
Previous Home Next

Introduction:

This application provide example to perform insert,fetch,update and delete operation in JDBC and struts 2.0 connectivity .

Class/Library File Descriptions:

Require tools to run this application

  1. Struts2.0 jar file
  2. Tomcat server
  3. Database Oracle10g

Source Code:

web.xml
<?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">
  <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <filter>
  <filter-name>struts2</filter-name>
  <filter-class>
  org.apache.struts2.dispatcher.ng.filter
  .StrutsPrepareAndExecuteFilter
  </filter-class>
  </filter>
  <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping></web-app>
index.jsp
<html>
<head></head>
<body><center>
<table cellpadding="0" cellspacing="10" 
bordercolor="red" border="5">
<tr><td align="center" height="30" width="250">
<a href="insert.jsp"
style="color: gray;text-decoration: none">
Data Insert</a>
</td></tr>
<tr><td align="center" height="30" width="250">
<a href="fetch.jsp" 
style="color: gray;text-decoration: none">
Data Fetch</a>
</td></tr>
<tr><td align="center" height="30" width="250">
<a href="nameUpdate.jsp" 
style="color: gray;text-decoration: none">
Update Data</a>
</td></tr>
<tr><td align="center" height="30" width="250">
<a href="deletedata.jsp"
style="color: gray;text-decoration: none">
Delete Row Wise Data</a>
</td></tr>
</table></center>
</body>
</html>
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-
//Apache Software Foundation
//DTD Struts Configuration 
2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!--Insert Data in database-->
<package name="demo" extends="struts-default">
<action name="insert" class="org.r4r.InsertAction">
<result name="success">/successInsert.jsp</result>
<result name="error">/insert.jsp</result>
</action>
<!--All data fetch on the browser in tabular form-->
<action name="alldatafetch" class="org.r4r.FetchAction">
<result name="success">/alldatafetch.jsp</result>
</action>
<!--Name wise data fetch on the browser in tabular form-->
<action name="nameFetch" class="org.r4r.FetchAction"
method="nameFetch">
<result name="success">/alldatafetch.jsp</result>
</action>
<!--Name wise update data in the database table-->
<action name="fetch" class="org.r4r.FetchAction"
method="nameFetch">
<result name="success">/updateFetch.jsp</result>
</action>
<action name="update" class="org.r4r.FetchAction" 
method="update">
<result name="success">/index.jsp</result>
<result name="input">/fetch.jsp</result>
<result name="error">/fetch.jsp</result>
</action>
<!--Row wise delete data in the database table-->
<action name="rowdatadelete" class="org.r4r.FetchAction">
<result name="success">/deletedatafetch.jsp</result>
</action>
<action name="delete" class="org.r4r.FetchAction"
method="delete">
<result name="success" type="chain">rowdatadelete</result>
</action>
<!--Name wise delete data in the database table-->
<action name="nameDelete" class="org.r4r.FetchAction" 
method="nameFetch">
<result name="success">/nameDeleteFetch.jsp</result>
</action>
<action name="delete1" class="org.r4r.FetchAction" 
method="delete">
<result name="success">/nameDelete.jsp</result>
</action>
</package>
</struts> 
insert.jsp
<%@taglib uri="/struts-tags" prefix="s"%>
<s:form action="insert">
<s:textfield name="name" label="name"/>
<s:textfield name="address" label="Address"/>
<s:textfield name="city" label="City"/>
<s:textfield name="state" label="State"/>
<s:submit value="Insert Data"/>
</s:form>
<br/><br/><br/>
<a href="index.jsp">Back</a>
InsertAction.java
package org.r4r;
public class InsertAction {
	String name;
	String address;
	String city;
	String state;
	DAO dao=new DAO();
	public String execute(){
		if(dao.insert(getName(), getAddress(),
			getCity(), getState()))
		return "success";
		else
		return "error";
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	public String getState() {
		return state;
	}
	public void setState(String state) {
		this.state = state;
	}	
}
DAO.java
packageorg.r4r;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class DAO {
public boolean insert(String name,
	String address,String city,String state){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:xe",
	"system","system");
PreparedStatement stmt=con.prepareStatement
("insert into userlist values(?,?,?,?)");
stmt.setString(1,name);
stmt.setString(2,address);
stmt.setString(3,city);
stmt.setString(4,state);
stmt.executeQuery();
return true;
}catch(Exception e){
System.out.println(e);
}
return false;
}
public List<UserList> fetch(){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:xe",
	"system","system");
PreparedStatement stmt=con.prepareStatement
("select * from userlist");
ResultSet rset=stmt.executeQuery();
UserList userlist;
List<UserList> list=new ArrayList<UserList>();
while(rset.next()){
userlist=new UserList();
userlist.setName(rset.getString(1));
userlist.setAddress(rset.getString(2));
userlist.setCity(rset.getString(3));
userlist.setState(rset.getString(4));
list.add(userlist);
}
return list;
}catch(Exception e){
System.out.println(e);
}
return null;
}
public List<UserList> nfetch(String name){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:xe",
	"system","system");
PreparedStatement stmt=con.prepareStatement
("select * from userlist where name=?");
stmt.setString(1,name);
ResultSet rset=stmt.executeQuery();
UserList userlist;
List<UserList> list=new ArrayList<UserList>();
while(rset.next()){
userlist=new UserList();
userlist.setName(rset.getString(1));
userlist.setAddress(rset.getString(2));
userlist.setCity(rset.getString(3));
userlist.setState(rset.getString(4));
list.add(userlist);
}
return list;
}catch(Exception e){
System.out.println(e);
}
return null;
}
public boolean update(String name,
	String address,String city,String state){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:xe",
	"system","system");
PreparedStatement stmt=con.prepareStatement
("update userlist set name=?,address=?
,city=?,state=? where name=?");
stmt.setString(1,name);
stmt.setString(2,address);
stmt.setString(3,city);
stmt.setString(4,state);
stmt.setString(5,name);
stmt.executeQuery();
return true;
}catch(Exception e){
System.out.println(e);
}
return false;
}
public boolean delete(String name){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:xe","system",
	"system");
PreparedStatement stmt=con.prepareStatement
("delete from userlist where name=?");
stmt.setString(1,name);
ResultSet rset=stmt.executeQuery();
if(rset.next())
return true;
else
return false;
}catch(Exception e){
System.out.println(e);
}
return false;
}
}
successInsert.jsp
<b>You are successfully insert data</b><br/>
<b>Again insert,<a href="insert.jsp">
Click Me</a></b>
fetch.jsp
<html>
<head></head>
<body><center>
<table cellpadding="0" cellspacing="10"
bordercolor="red" border="5">
<tr><td align="center" height="30" width="250">
<a href="alldatafetch" 
style="color: gray;text-decoration: none">
All Data Fetch</a>
</td></tr>
<tr><td align="center" height="30" width="250">
<a href="nameFetch.jsp" 
style="color: gray;text-decoration: none">
Name Wise Fetch</a>
</td></tr>
</table>
<br/><br/>
<a href="index.jsp" style="font-size: 18px;">Back</a>
</center>
</body>
</html>
FetchAction.java
packageorg.r4r;
import java.util.List;
public class FetchAction {
private String name;
private String address;
private String city;
private String state;
private UserList userlist;
private List<UserList> userlistlist;
DAO dao=new DAO();
public String execute(){
userlistlist=dao.fetch();
return "success";
}
public String nameFetch(){
userlistlist=dao.nfetch(getName());
return "success";
}
public String update(){
dao.update(getName(),getAddress(), 
	getCity(), getState());
return "success";		
}
public String delete(){
dao.delete(getName());
return "success";
}
public UserList getUserlist() {
return userlist;
}
public void setUserlist(UserList userlist) {
this.userlist = userlist;
}
public List<UserList> getUserlistlist() {
return userlistlist;
}
public void setUserlistlist(List<UserList>
	userlistlist) {
this.userlistlist = userlistlist;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
}
UserList.java
 packageorg.r4r;
public class UserList {
String name;
String address;
String city;
String state;	
public UserList() {
super();
// TODO Auto-generated constructor stub
}
public UserList(String name, String address,
	String city, String state) {
super();
this.name = name;
this.address = address;
this.city = city;
this.state = state;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
}
alldatafetch.jsp
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head></head>
<body><center>
<table cellpadding="0" cellspacing="2" 
bordercolor="red" border="5">
<tr>
<th align="center" height="30" width="250">
Name</th>
<th align="center" height="30" width="250">
Address</th>
<th align="center" height="30" width="250">
City</th>
<th align="center" height="30" width="250">
State</th>
</tr>
<s:iterator value="userlistlist" var="userlistS">
<tr>
<td align="center" height="30" width="250">
<s:property value="name"/></td>
<td align="center" height="30" width="250">
<s:property value="address"/></td>
<td align="center" height="30" width="250">
<s:property value="city"/></td>
<td align="center" height="30" width="250">
<s:property value="state"/></td>
</tr>
</s:iterator>
</table>
<br/><br/>
<a href="fetch.jsp" style="font-size: 18px;">Back</a>
</center>
</body>
</html>
nameFetch.jsp
 <%@taglib uri="/struts-tags" prefix="s"%>
<s:form action="nameFetch">
<s:textfield name="name" label="Name"/>
<s:submit value="Submit"/>
</s:form>
updateFetch.jsp
<%@taglib uri="/struts-tags" prefix="s"%>
<s:form action="update">
<s:iterator value="userlistlist" 
var="userlist">
<s:textfield name="name" label="name"/>
<s:textfield name="address" label="Address"/>
<s:textfield name="city" label="City"/>
<s:textfield name="state" label="State"/>
</s:iterator>
<s:submit value="Insert Data"/>
</s:form>
<br/><br/><br/>
<a href="nameUpdate.jsp">Back</a>
nameUpdate.jsp
 <%@taglib uri="/struts-tags" prefix="s"%>
<s:actionerror/>
<s:form action="fetch">
<s:textfield name="name" label="Name"/>
<s:submit value="Submit"/>
</s:form>
<br/><br/><br/>
<a href="index.jsp">Back</a>
deleteData.jsp
<html>
<head></head>
<body><center>
<table cellpadding="0" cellspacing="10"
bordercolor="red" border="5">
<tr><td align="center" height="30" width="250">
<a href="rowdatadelete" 
style="color: gray;text-decoration: none">
All data Fetch to delete</a>
</td></tr>
<tr><td align="center" height="30" width="250">
<a href="nameDelete.jsp"
style="color: gray;text-decoration: none">
Name wise data fetch to delete</a>
</td></tr>
</table>
<br/><br/>
<a href="index.jsp" style="font-size: 18px;">
Back</a>
</center>
</body>
</html>
deletedatafetch.jsp
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head></head>
<body><center>
<table cellpadding="0" cellspacing="2"
bordercolor="red" border="5">
<tr>
<th align="center" height="30" width="250">
Name</th>
<th align="center" height="30" width="250">
Address</th>
<th align="center" height="30" width="250">
City</th>
<th align="center" height="30" width="250">
State</th>
<th align="center" height="30" width="250">
Delete</th>
</tr>
<s:iterator value="userlistlist" var="userlistS">
<tr>
<td align="center" height="30" width="250">
<s:property value="name"/></td>
<td align="center" height="30" width="250">
<s:property value="address"/></td>
<td align="center" height="30" width="250">
<s:property value="city"/></td>
<td align="center" height="30" width="250">
<s:property value="state"/></td>
<td align="center" height="30" width="250">
<a href="delete?name=<s:property value='name'/>">
Delete</a></td>
</tr>
</s:iterator>
</table>
<br/><br/>
<a href="deletedata.jsp" style="font-size: 18px;">
Back</a>
</center>
</body>
</html>
nameDelete.jsp
<%@taglib uri="/struts-tags" prefix="s"%>
<s:actionerror/>
<s:form action="nameDelete">
<s:textfield name="name" label="Name"/>
<s:submit value="Submit"/>
</s:form>
<br/><br/><br/>
<a href="index.jsp">Back</a>
nameDeleteFetch.jsp
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head></head>
<body><center>
<table cellpadding="0" cellspacing="2"
bordercolor="red" border="5">
<tr>
<th align="center" height="30" width="250">
Name</th>
<th align="center" height="30" width="250">
Address</th>
<th align="center" height="30" width="250">
City</th>
<th align="center" height="30" width="250">
State</th>
<th align="center" height="30" width="250">
Delete</th>
</tr>
<s:iterator value="userlistlist" var="userlistS">
<tr>
<td align="center" height="30" width="250">
<s:property value="name"/></td>
<td align="center" height="30" width="250">
<s:property value="address"/></td>
<td align="center" height="30" width="250">
<s:property value="city"/></td>
<td align="center" height="30" width="250">
<s:property value="state"/></td>
<td align="center" height="30" width="250">
<a href="delete1?name=<s:property value='name'/>">
Delete</a></td>
</tr>
</s:iterator>
</table>
<br/><br/>
<a href="deletedata.jsp" style="font-size: 18px;">
Back</a>
</center>
</body>
</html>
output
Previous Home Next