Tuesday 30 October 2012

Insert data into database using JSF

1). JSFJDBCInsert example

Table Structure :

DROP TABLE IF EXISTS customer; 

CREATE TABLE  customer (customer_id  number(10) NOT NULL, name VARCHAR(45) NOT NULL,PRIMARY KEY (customer_id));  

2).Directory structure of this example.

 

 

3).index.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>index.html</title>
    <meta http-equiv="Refresh" content="0; URL=index.faces"/>
  </head> 
</html> 

4). index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
   <title>My JSP 'index.jsp' starting page</title>
  </head> 
  <body>
    <f:view>
        <h:form>
            <h:messages style="color: red;"></h:messages>
            <table>
                <h:outputText value="Enter values"></h:outputText>
                <tr>
                    <td>
                        <h:outputText value="Id:"></h:outputText>
                    </td>
                    <td>
                        <h:inputSecret id="id" value="#{Bean.customerId}" required="true">
                            <f:validateLength minimum="2" maximum="25"></f:validateLength>
                        </h:inputText>
                    </td>
                </tr> <tr>
              <td>
                  <h:outputText value="Name:"/>
              </td>
              <td>
                  <h:inputText id="name" value="#{Bean.name}" required="true">
                      <f:validateLength minimum="2" maximum="25"/>
                  </h:inputText>
              </td>
              </tr>

                <tr>
                    <td>
                        <h:commandButton id="InsertData" action="#{Bean.insert}"></h:commandButton>
                    </td>
                </tr>
            </table>
        </h:form>
    </f:view>
  </body>
</html>

5). web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
</web-app>

6). faces-config.xml

<?xml version='1.0' encoding='UTF-8'?>
<faces-config 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-facesconfig_1_2.xsd"
    version="1.2">
    <navigation-rule>
        <from-view-id>/index.jsp</from-view-id>
        <navigation-case>
        <from-outcome>success</from-outcome>
        <to-view-id>/display.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <managed-bean>
        <managed-bean-name>Bean</managed-bean-name>
        <managed-bean-class>com.satyamsoft.in.Bean</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
</faces-config> 

7). Bean.java

  package com.satyamsoft;

package com.satyamsoft;
import java.io.Serializable;
import java.sql.*;


public class Bean {
    int customerId;
    String name;
    public int getCustomerId() {
        return customerId;
    }
    public void setCustomerId(int customerId) {
        this.customerId = customerId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

public String insert() throws Exception
    {
        int a=this.customerId;
        String b=this.name;
        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","123456");        if(con==null)
            throw new SQLException("ConnectionProblem");
        PreparedStatement ps=con.prepareStatement("insert into customer values(?,?)");
        ps.setInt(1,a);
        ps.setString(2, b);
        if(ps.executeUpdate()==1)
            return "success";
        else
            return "fail";
}

   
}

 

8). Output 

 

 

 

 

Download JSFJDBCInsert Example source code

 

No comments:

Post a Comment