title: HTTP 404 The requested resource (/ /) is not available - Tomcat 6
body: <p>I created a litte 'Dynamic Web Project' in eclipse and try to show/edit/create and delete my data base objects. The tomcat server runs. But I get an HTTP Status 404 Error : The requested resource (/TestDynWeb/) is not available(http://localhost:8010/TestDynWeb). I would like to show all my code files. Maybe you have an idea what is wrong.</p>
  
  <h2>WebContent/WEB-INF:</h2>
  
  <p><em><strong>Web.xml</em></strong></p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
      id="WebApp_ID" version="3.0"&gt;
  &lt;display-name&gt;TestDynWeb&lt;/display-name&gt;
  
   &lt;servlet&gt;
    &lt;servlet-name&gt;action&lt;/servlet-name&gt;
   &lt;servlet-class&gt;org.apache.struts.action.ActionServlet&lt;/servlet-class&gt;
  
    &lt;init-param&gt;
     &lt;param-name&gt;config&lt;/param-name&gt;
     &lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt;
    &lt;/init-param&gt;
    &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
   &lt;/servlet&gt;
  
   &lt;servlet-mapping&gt;
    &lt;servlet-name&gt;action&lt;/servlet-name&gt;
    &lt;url-pattern&gt;*.do&lt;/url-pattern&gt;
   &lt;/servlet-mapping&gt;
  
   &lt;welcome-file-list&gt;
    &lt;welcome-file&gt;index.html&lt;/welcome-file&gt;
    &lt;welcome-file&gt;index.htm&lt;/welcome-file&gt;
    &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
    &lt;welcome-file&gt;default.html&lt;/welcome-file&gt;
    &lt;welcome-file&gt;default.htm&lt;/welcome-file&gt;
    &lt;welcome-file&gt;default.jsp&lt;/welcome-file&gt;
   &lt;/welcome-file-list&gt;
  
   &lt;jsp-config&gt;
    &lt;taglib&gt;
     &lt;taglib-uri&gt;/WEB-INF/struts-bean.tld&lt;/taglib-uri&gt;
     &lt;taglib-location&gt;/WebContent/WEB-INF/struts-bean.tld&lt;/taglib-location&gt;
    &lt;/taglib&gt;
    &lt;taglib&gt;
     &lt;taglib-uri&gt;/WEB-INF/struts-html.tld&lt;/taglib-uri&gt;
     &lt;taglib-location&gt;/WEB-INF/struts-html.tld&lt;/taglib-location&gt;
    &lt;/taglib&gt;
    &lt;taglib&gt;
     &lt;taglib-uri&gt;/WEB-INF/struts-logic.tld&lt;/taglib-uri&gt;
     &lt;taglib-location&gt;/WEB-INF/struts-logic.tld&lt;/taglib-location&gt;
    &lt;/taglib&gt;
    &lt;taglib&gt;
     &lt;taglib-uri&gt;/WEB-INF/struts-nested.tld&lt;/taglib-uri&gt;
     &lt;taglib-location&gt;/WEB-INF/struts-nested.tld&lt;/taglib-location&gt;
    &lt;/taglib&gt;
   &lt;/jsp-config&gt;
  &lt;/web-app&gt;
  </code></pre>
  
  <p><em><strong>struts-config.xml</em></strong></p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
  &lt;!DOCTYPE struts-config PUBLIC
  "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
  "http://struts.apache.org/dtds/struts-config_1_3.dtd" &gt;
  
  &lt;struts-config&gt;
      &lt;!-- Form Bean Definitions --&gt;
      &lt;form-beans&gt;
          &lt;form-bean name="ListForm" type="list.forms.ListForm"/&gt;
      &lt;/form-beans&gt;
  
      &lt;!--  Action Mapping Definitions  --&gt;
      &lt;action-mappings&gt;
          &lt;action path="/showlist" type="list.misc.ShowList" validate="false" scope="session"&gt;
          &lt;forward name="success" path="/jsp/listScreen.jsp"/&gt;
      &lt;/action&gt;
  
      &lt;!-- Example of Struts Dispatch Action : has the extra attribute parameter--&gt;
      &lt;action path="/listaction" type="list.actions.ListAction" parameter="actionMethod" name="ListForm"
       validate="false" scope="session"&gt;
          &lt;forward name="addObject" path="/jsp/createScreen.jsp"/&gt;
          &lt;forward name="editObject" path="/jsp/editScreen.jsp"/&gt;
      &lt;/action&gt;
      &lt;/action-mappings&gt;
  &lt;/struts-config&gt;
  </code></pre>
  
  <h2>WebContent/jsp:</h2>
  
  <p><em><strong>listScreen.jsp</em></strong></p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;%@ page import="java.util.HashMap"%&gt;
  &lt;%@ page import="java.util.Map"%&gt;
  &lt;%@ page import="java.util.List"%&gt;
  &lt;%@ page import="java.util.ArrayList"%&gt;
  &lt;%@ page import="java.util.Iterator"%&gt;
  &lt;html&gt;
  &lt;body&gt;
      &lt;b&gt;Available Data Base Objects&lt;/b&gt;
      &lt;form name="listform" action="/listaction.do"&gt;
          &lt;table style="background-color: #82CAFA;"&gt;
              &lt;tr style="color: white;"&gt;
                  &lt;th&gt;&amp;nbsp;&lt;/th&gt;
                  &lt;th&gt;Object ID&lt;/th&gt;
                  &lt;th&gt;Object Name&lt;/th&gt;
                  &lt;th&gt;Person ID&lt;/th&gt;
                  &lt;th&gt;Date (Dev)&lt;/th&gt;
                  &lt;th&gt;Version (Dev)&lt;/th&gt;
              &lt;/tr&gt;
              &lt;%
                  List objectsList = (ArrayList) request.getAttribute("objectsList");
                  Iterator itr = objectsList.iterator();
                  while (itr.hasNext()) {
                      Map map = (HashMap) itr.next();
              %&gt;
              &lt;tr&gt;
                  &lt;td&gt;&lt;input type="radio" name="dboId"
                      value='&lt;%=map.get("dboId")%&gt;'
                      onclick="javascript:enableEditDelete();"&gt;&lt;/td&gt;
                  &lt;td&gt;&lt;%=map.get("dboID")%&gt;&lt;/td&gt;
                  &lt;td&gt;&lt;%=map.get("dboDevName")%&gt;&lt;/td&gt;
                  &lt;td&gt;&lt;%=map.get("personId")%&gt;&lt;/td&gt;
                  &lt;td&gt;&lt;%=map.get("changedByTimestampDEV")%&gt;&lt;/td&gt;
                  &lt;td&gt;&lt;%=map.get("releaseVersionDev")%&gt;&lt;/td&gt;
              &lt;/tr&gt;
              &lt;%
                  }
              %&gt;
          &lt;/table&gt;
          &lt;/p&gt;
          &lt;p&gt;
          &lt;table&gt;
              &lt;tr&gt;
                  &lt;td&gt;&lt;input type="submit" name="actionMethod" id="editbutton"
                      value="Edit Object" disabled="true" style="color: black;" /&gt;&lt;/td&gt;
                  &lt;td&gt;&lt;input type="submit" name="actionMethod" id="deletebutton"
                      value="Delete Object" disabled="true" onclick="return checkDelete();" style="color: black;" /&gt;&lt;/td&gt;
              &lt;/tr&gt;
          &lt;/table&gt;
      &lt;/form&gt;
      &lt;/p&gt;
      &lt;script&gt;
          function checkDelete() {
              return confirm("Are u sure to delete this object..?");
          }
          function enableEditDelete() {
              document.getElementById('editbutton').disabled = false;
              document.getElementById('deletebutton').disabled = false;
          }
      &lt;/script&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p><em><strong>editScreen.jsp</em></strong></p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;b&gt;Edit Object&lt;/b&gt;
  &lt;html:form&gt;
      &lt;p&gt;
      &lt;/p&gt;&lt;table style="background-color: #82CAFA;"&gt;
          &lt;tr style="color: white;"&gt;
              &lt;td&gt;Object ID&lt;/td&gt;
              &lt;td&gt;&lt;html:text property="dboId" disabled="true"/&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr style="color: white;"&gt;
              &lt;td&gt;Object Name&lt;/td&gt;
              &lt;td&gt;&lt;html:text property="dboDevName"/&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr style="color: white;"&gt;
              &lt;td&gt;Person ID&lt;/td&gt;
              &lt;td&gt;&lt;html:text property="personId"/&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr style="color: white;"&gt;
              &lt;td&gt;Date (Dev)&lt;/td&gt;
              &lt;td&gt;&lt;html:text property="changedByTimestampDEV"/&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr style="color: white;"&gt;
              &lt;td&gt;Version (Dev&lt;/td&gt;
              &lt;td&gt;&lt;html:text property="releaseVersionDev"/&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/table&gt;
      &lt;p/&gt;
      &lt;p&gt;
      &lt;/p&gt;&lt;table&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;input type="submit" name="actionMethod" value="Save Object" style="color: black;"/&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/table&gt;
  &lt;/html:form&gt;
  &lt;p/&gt;
  </code></pre>
  
  <p><strong>createScreen.jsp</strong></p>
  
  
  
  <pre><code>&lt;%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%&gt;
  &lt;html&gt;
  &lt;body&gt;
  
      &lt;b&gt;Add Object&lt;/b&gt;
      &lt;html:form&gt;
          &lt;table style="background-color: #82CAFA;"&gt;
              &lt;tr&gt;
                  &lt;td&gt;Object ID&lt;/td&gt;
                  &lt;td&gt;&lt;html:text property="dboId" disabled="true" /&gt;&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                  &lt;td&gt;Object Name&lt;/td&gt;
                  &lt;td&gt;&lt;html:text property="dboDevName" /&gt;&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                  &lt;td&gt;Person ID&lt;/td&gt;
                  &lt;td&gt;&lt;html:text property="personId" /&gt;&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                  &lt;td&gt;Date (Dev)&lt;/td&gt;
                  &lt;td&gt;&lt;html:text property="changedByTimestampDEV" /&gt;&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                  &lt;td&gt;Version (Dev&lt;/td&gt;
                  &lt;td&gt;&lt;html:text property="releaseVersionDev" /&gt;&lt;/td&gt;
              &lt;/tr&gt;
          &lt;/table&gt;
          &lt;/p&gt;
          &lt;p&gt;
          &lt;table&gt;
              &lt;tr&gt;
                  &lt;td&gt;&lt;input type="submit" name="actionMethod" value="Add Object" /&gt;&lt;/td&gt;
              &lt;/tr&gt;
          &lt;/table&gt;
      &lt;/html:form&gt;
      &lt;/p&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <h2>/config:</h2>
  
  <p><em><strong>appContext.xml</em></strong></p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:lang="http://www.springframework.org/schema/lang"
      xsi:schemaLocation="
  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
  http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
  http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.1.xsd"&gt;
  
      &lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
          destroy-method="close"&gt;
          &lt;property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver" /&gt;
          &lt;property name="url"
              value="jdbc:jtds:sqlserver://localhost:1433;databaseName=NARTrackingDB" /&gt;
          &lt;property name="username" value="abc" /&gt;
          &lt;property name="password" value="xyz" /&gt;            
      &lt;/bean&gt;
  
      &lt;bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"&gt;
          &lt;property name="dataSource" ref="dataSource" /&gt;
      &lt;/bean&gt;
  
      &lt;bean id="objDao" class="tracking.dao.DboDao"&gt;
          &lt;property name="transactionManager" ref="transactionManager" /&gt;
      &lt;/bean&gt;
  
  &lt;/beans&gt; 
  </code></pre>
  
  <h2>DAO Class:</h2>
  
  <pre><code>package tracking.dao;
  
  import java.sql.PreparedStatement;
  import java.sql.ResultSet;
  import java.sql.SQLException;
  import java.sql.Types;
  
  import javax.sql.DataSource;
  
  import org.objectweb.asm.Type;
  import org.springframework.jdbc.core.JdbcTemplate;
  import org.springframework.jdbc.core.RowCallbackHandler;
  import org.springframework.jdbc.datasource.DataSourceTransactionManager;
  
  import tracking.bean.DboBean;
  
  public class DboDao {
      private DataSourceTransactionManager transactionManager;
      private JdbcTemplate jdbcTemplate;
      private DataSource dataSource;  // either use @Autowire or provide xml config 
  
      //private String dboDevName;
      public DboDao() {
          // TODO Auto-generated constructor stub
          super();
      }
  
      public DboBean read(final int dboId) {//String dboId
          // TODO Auto-generated method stub
          String sql = "SELECT * FROM da_tracking " 
                          + "WHERE ins_ID = " + dboId;
          final Object[] params = new Object[] {};
          //Creating object being queried
          final DboBean dboBean = new DboBean();
          //Process query Results
          jdbcTemplate.query(sql, params, new RowCallbackHandler(){
              public void processRow(ResultSet rs) throws SQLException{
                  dboBean.setDboId(rs.getString("ins_ID"));
                  dboBean.setDboDevName(rs.getString("ins_name"));
              }           
          });
          return dboBean;//returns queried objects
      }
  
      public int save(DboBean record ) {
          // TODO Auto-generated method stub
      String sql = "UPDATE da_tracking" 
                  + " SET ins_name= ?,"  
                  + " ins_dev_scripted = ?" 
                  + " WHERE ins_ID = ?" ;
      Object[] params = new Object[] { 
              record.getDboDevName(), 
              record.getDevScripted(), 
              record.getDboId()
      }; 
      int[] types = new int[]{
              Types.VARCHAR, 
              Types.BIT, 
              Types.INTEGER}; 
      return jdbcTemplate.update(sql, params, types); 
  
      }
  
      public int createInstance(DboBean record) {
          // TODO Auto-generated method stub
          String sql = "INSERT INTO da_tracking" 
                  + "(ins_ID,ins_name,ins_deployed_to_uat, ins_dev_status,ins_dev_scripted,ins_dev_changed_by_timestamp"
                  + "change_details,db_owner_ID,type_ID,person_ID,changeType_ID,ins_uat_changed_by_timestamp,release_version_dev"
                  + "release_version_uat) VALUES"
                  + "( ?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
  
          Object[] params = new Object[] { 
              record.getDboId(),record.getDboDevName(),record.getDeployedToUAT(),record.getDevStatus(),record.getDevScripted(), 
              record.getChangedByTimestampDEV(),record.getChangeDetails(),record.getDbOwner(),record.getTypeId(),record.getPersonId(),
              record.getChangedByTimestampUAT(),record.getReleaseVersionDev(),record.getReleaseVersionUat()
          }; 
  
          int[] types = new int[]{
              Types.INTEGER, Types.VARCHAR, Types.BIT, Types.INTEGER, Types.BIT, 
              Types.TIMESTAMP, Types.VARCHAR, Types.INTEGER, Types.INTEGER, Types.INTEGER,
              Types.TIMESTAMP, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR
              }; 
          return jdbcTemplate.update(sql, params, types); 
      }
  
      public void delete(String dboId) {
          // TODO Auto-generated method stub
          String sql = "DELETE FROM da_tracking "
                  + "WHERE ins_ID = " + dboId;
          Object[] params = new Object[] {};
          //Process query Results
          jdbcTemplate.update(sql, params);       
      }
  
      public JdbcTemplate getJdbcTemplate() {
          return jdbcTemplate;
      }
  
      public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
          this.jdbcTemplate = jdbcTemplate;
      }
  
      public DataSource getDataSource() {
          return dataSource;
      }
  
      public void setDataSource(DataSource dataSource) {
          this.dataSource = dataSource;
      }
  
      //Spring setter injector used
      public void setTransactionManager(DataSourceTransactionManager transactionManager){
          this.transactionManager = transactionManager;
          DataSource datatSource = transactionManager.getDataSource();  
          jdbcTemplate = new JdbcTemplate(datatSource); 
      }
  
  }
  </code></pre>
  
  <p>--DBOBean.java includes getters &amp; setters--not needed to show here</p>
  
  <p><em><strong>ShowList.java:</em></strong></p>
  
  <pre><code>package list.misc;
  
  import org.apache.struts.action.ActionForm;
  import org.apache.struts.action.ActionMapping;
  import org.apache.struts.action.ActionForward;
  import org.apache.struts.action.Action;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  
  public class ShowList extends Action {
      public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
          System.out.println("Show Objects List");
          ListObjects l = ListObjects.getInstance();
          request.setAttribute("objectsList", l.getObjectList());
          return mapping.findForward("success");
      }
  }
  </code></pre>
  
  <p><em><strong>ListObjects:</em></strong></p>
  
  <pre><code>package list.misc;
  
  import java.util.Map;
  import java.util.HashMap;
  import java.util.List;
  import java.util.ArrayList;
  import java.util.Iterator;
  import java.util.Set;
  
  public class ListObjects {
  
      int objectIdCount = 1000;
      Map&lt;Integer, StoreObject&gt; objectMap = new HashMap&lt;Integer, StoreObject&gt;();
      private static ListObjects objects = null;
  
      private ListObjects() {
      }
  
      public static ListObjects getInstance() {
          if (objects == null) {
              objects = new ListObjects();
          }
          return objects;
      }
  
      public void storeObject(String dboDevName, int personId, String changedByTimestampDEV, String releaseVersionDev) {
          StoreObject so = new StoreObject();
          objectIdCount++;
          so.addObject(objectIdCount, dboDevName, personId, changedByTimestampDEV, releaseVersionDev);
          objectMap.put(objectIdCount, so);
      }
  
      public void updateObject(int dboId, String dboDevName, int personId, String changedByTimestampDEV, String releaseVersionDev) {
          StoreObject so = objectMap.get(dboId);
          so.updateObject(dboId, dboDevName, personId, changedByTimestampDEV, releaseVersionDev );
      }
  
  
        public Map searchObject(int dboId) { 
            return objectMap.get(dboId).getObject(); 
        }
  
  
      public void deleteObject(int dboIds) {
          objectMap.remove(dboIds);
      }
  
      // Inner Class used to persist the app data ie. object details.
      public class StoreObject {
  
          private String dboDevName;
          private String changeDetails;
          private String changedByTimestampDEV;
          String releaseVersionDev;
          private int personId;
          private int objectIdCount;
          private int dboId;
  
          StoreObject() {
          }
  
          public void addObject(int objectIdCount, String dboDevName, int personId, String changedByTimestampDEV, String releaseVersionDev) {
              this.objectIdCount = objectIdCount;
              this.dboDevName = dboDevName;
              this.personId = personId;
              this.changedByTimestampDEV = changedByTimestampDEV;
              this.releaseVersionDev = releaseVersionDev;
          }
  
          public void updateObject(int dboId, String dboDevName, int personId, String changedByTimestampDEV, String releaseVersionDev) {
              this.dboId = dboId;
              this.dboDevName = dboDevName;
              this.personId = personId;
              this.changedByTimestampDEV = changedByTimestampDEV;
              this.releaseVersionDev = releaseVersionDev;
          }
  
          @SuppressWarnings("unchecked")
          public Map getObject() {
              Map objects = new HashMap();
              objects.put("objectIdCount", this.objectIdCount);
              objects.put("dboDevName", this.dboDevName);
              objects.put("personId", this.personId);
              objects.put("changedByTimestampDEV", this.changedByTimestampDEV);
              objects.put("releaseVersionDev", this.releaseVersionDev);
              return objects;
          }
      }
  
      public List getObjectList() {
          List objectsList = new ArrayList();
          Set s = objectMap.keySet();
          Iterator itr = s.iterator();
          while (itr.hasNext()) {
              objectsList.add(objectMap.get((Integer) itr.next()).getObject());
          }
          return objectsList;
      }
  }
  </code></pre>
  
  <p>--ListForm.java includes getters &amp; setters -- not needed here.</p>
  
  <p><em><strong>ListAction.java:</em></strong></p>
  
  <pre><code>package list.actions;
  
  import org.apache.struts.action.ActionForm;
  import org.apache.struts.action.ActionMapping;
  import org.apache.struts.action.ActionForward;
  import org.apache.struts.actions.DispatchAction;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  
  import java.util.Map;
  
  import list.forms.ListForm;
  import list.misc.ListObjects;
  
  public class ListAction extends DispatchAction {
      public ActionForward AddObj(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
          System.out.println("Add Object Page");
          return mapping.findForward("addObj");
      }
  
      public ActionForward EditObj(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
          System.out.println("Edit Object Page");
          int dboId = Integer.parseInt(request.getParameter("dboId"));
  
          ListObjects l = ListObjects.getInstance();
          @SuppressWarnings("rawtypes")
          Map objMap = l.searchObject(dboId);
  
          // Used form bean class methods to fill the form input elements with
          // selected object values.
          ListForm lf = (ListForm) form;
  
          lf.setDboId((Integer) objMap.get("dboId"));
          lf.setDboDevName(objMap.get("dboDevName").toString());
          lf.setTypeId((Integer) objMap.get("typeId"));
          lf.setChangeDetails(objMap.get("changeDetails").toString());
          lf.setChangeType((Integer) objMap.get("changeType"));
          lf.setDevScripted((Boolean) objMap.get("devScripted"));
          lf.setPersonId((Integer) objMap.get("personId"));
          lf.setChangedByTimestampDEV(objMap.get("changedByTimestampDEV").toString());
          lf.setChangedByTimestampUAT(objMap.get("changedByTimestampUAT").toString());
          lf.setReleaseVersionDev(objMap.get("releaseVersionDev").toString());
          lf.setReleaseVersionUat(objMap.get("releaseVersionUat").toString());
  
          return mapping.findForward("addObject");
      }
  
      public ActionForward SaveObj(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
          System.out.println("Save Object");
          // Used form bean class methods to get the value of form input elements.
          ListForm lf = (ListForm) form;
          int dbOwner = lf.getDbOwner();
          String dboDevName = lf.getDboDevName();
          int typeId = lf.getTypeId();
          String changeDetails = lf.getChangeDetails();
          int changeType = lf.getChangeType();
          Boolean devScripted = lf.isDevScripted();
          int personId = lf.getPersonId();
          String changedByTimestampDEV = lf.getChangedByTimestampDEV();
          String changedByTimestampUAT = lf.getChangedByTimestampUAT();
          String releaseVersionDev = lf.getReleaseVersionDev();
          String releaseVersionUat = lf.getReleaseVersionUat();
  
          ListObjects l = ListObjects.getInstance();
          l.storeObject(dboDevName, personId, changedByTimestampDEV, releaseVersionDev);
          return new ActionForward("/showlist.do", true);
      }
  
      public ActionForward CreateObj(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
          System.out.println("Update Object");
          ListForm lf = (ListForm) form;
          int dboId = lf.getDboId();
          String dboDevName = lf.getDboDevName();
          int typeId = lf.getTypeId();
          String changeDetails = lf.getChangeDetails();
          int changeType = lf.getChangeType();
          Boolean devScripted = lf.isDevScripted();
          int personId = lf.getPersonId();
          String changedByTimestampDEV = lf.getChangedByTimestampDEV();
          String changedByTimestampUAT = lf.getChangedByTimestampUAT();
          String releaseVersionDev = lf.getReleaseVersionDev();
          String releaseVersionUat = lf.getReleaseVersionUat();
  
          ListObjects l = ListObjects.getInstance();
          l.updateObject(dboId, dboDevName, personId, changedByTimestampDEV, releaseVersionDev);
          return new ActionForward("/showlist.do", true);
      }
  
      public ActionForward DeleteObject(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
          System.out.println("Delete Object");
          int dboId = Integer.parseInt(request.getParameter("dboId"));
          ListObjects lo = ListObjects.getInstance();
          lo.deleteObject(dboId);
          return new ActionForward("/showlist.do", true);
      }
  }
  </code></pre>
  
  <p>Many Thanks in advance for every help.</p>