|Home |Struts Step by Step Tutorial |Hibernate Step by Step Tutorial |Spring Step by Step Tutorial |JSP Step by Step Tutorial |JDBC Step by Step Tutorial |Web Services Step by Step Tutorial |EJB fundamentals | ORACLE Step by Step Tutorial
Java mock test | JSP mock test | ORACLE mock test | Hibernate mock test | Servlet mock test | Struts mock test | EJB mock test | C mock test | C++ mock test | Aptitude mock test |Java online test | JSP online test | ORACLE online test | Hibernate online test | Servlet online test | Struts online test | EJB online test | C online test | C++ online test | Aptitude online test
***Java Code Examples*** |Technical Talk
Java interview questions | JSP interview questions | ORACLE interview questions | Hibernate interview questions | Servlet interview questions | Struts interview questions | JDBC interview questions | C/C++ interview questions | Spring interview questions | JMS interview questions | Informatica interview questions | EJB interview questions | OOPS and Design Pattern interview questions
Student Live Projects >>> Tech Talk >>>
Tutorial Home
Struts Tutorial Home
Spring Tutorial Home
Hibernate Tutorial Home
JSP Tutorial Home
JDBC Tutorial Home
Webservices Tutorial Home
EJB Fundamentals

Hibernate

  1. Advantage of Hibernate over JDBC
  2. Hibernate Setup with an web Application
  3. First Hibernate Application
  4. Hibernate mapping with Database TABLE
  5. Hibernate Data Type-Java Data Type - SQL Data Type mapping
  6. One to Many Relation in Hibernate
  7. One to Many Relation in Hibernate bi-directional
  8. Many to Many Relation in Hibernate
  9. HQL: The Hibernate Query Language
  10. Criteria Queries
  11. Criteria Queries : Equal (eq), Not Equal(ne), Less than (le), greater than (gt),greater than or equal(ge) and Ordering the results
  12. Criteria Queries: And OR conditions
  13. Hibernate generator to generate id (primary key)
  14. prevent concurrent update in Hibernate,slate object updatation in Hibernate,version checking in Hibernate

    Struts


  1. Model View Controller (MVC)
  2. Model View Controller (MVC)
  3. Struts Flow-How Struts Works?
  4. Struts Tutorial - Struts Setup- First Struts Action class setup
  5. Message Resources
  6. Validation Framework
  7. Validation Framework-client side
  8. ForwardAction
  9. IncludeAction
  10. DispatchAction
  11. LookupDispatchAction
  12. DynaActionForm
  13. DynaActionForm
  14. Struts Tutorial - Mutli-click prevention using struts tokens-Prevent Duplicate Submission
  15. Logic Iterate Map and List

JSP


  1. JSP Tutorial
  2. Introduction to JSP
  3. JSP Comments
  4. JSP Syntax
  5. JSP Scripting Elements :Scriptlet, expression, declaration
  6. JSP Directives
  7. implicit objects in JSP
  8. JSP Actions
  9. Introduction to JSP
  10. jsp:useBean
  11. The jsp:setProperty Action
  12. The jsp:getProperty Action
  13. Introduction to JSP

Spring


  1. Spring Tutorial
  2. Introduction to Spring
  3. Benefits of Using Spring Framework
  4. Inversion of Control in Spring
  5. Introduction to BeanFactory
  6. Dependency Injection in Spring
  7. Collections Setter Injection
  8. Bean Scopes in Spring
  9. Spring IOC Setup Step by Step
  10. Bean Lifecycle in Spring
  11. ApplicationContext
  12. MessageSources in Spring
  13. Web Spring MVC framework
  14. Developing Your First Spring Web Application
  15. Developing Your Second Spring Web Application with Spring Form
  16. Developing Your First Spring Web Application with Spring Validation Framework with Code Example
  17. Spring integration with Hibernate

Integrate First Web Application on Spring and Hibernate


This tutorial guide you to Integrate Spring Hibernate using Tomcat.
Spring : User Interface and Service Layer
Hibernate : DAO layer

Here is the steps for Integration Spring Hibernate using Tomcat

Click here to get the code : springhibernate.zip

Steps to run the downloded code :
step 1. unzip the strutsspringhibernate.zip file to D:\tomcat\webapps\ directory.
step 2. D:\tomcat\bin > stratup.bat
step 3. Go to browser and type the URL : http://localhost:8080/springhibernate/test/userPage.do

step 4. Enter User Name and Department and submit the "save" button.

Here is the code Explanation

Spring Part


Step 1. Set the DispatcherServlet in web.xml

DispatcherServlet


DispatcherServlet a central servlet that dispatches requests to controllers and offers other functionality facilitating the development of web applications. DispatcherServlet completely integrated with the Spring IoC container and allows you to use every other feature that Spring has.
The DispatcherServlet is an Servlet declared in the web.xml.
Consider the following DispatcherServlet servlet configuration (in the web.xml file.)
<web-app> <servlet>
<servlet-name>test</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
With the above servlet configuration , you will need to have a file called '/WEB-INF/test-servlet.xml' in your application.

Step 2. test-servlet.xml file

test-servlet.xml file contains viewResolver , Handler mappings and Controllers.
viewResolver :
All controllers in the Spring Web MVC framework return a ModelAndView instance. Views in Spring are addressed by a view name and are resolved by a view resolver.
if in the test-servlet.xml you defind <property name="formView"><value>userForm</value></property>
then it forward to /WEB-INF/jsp/userForm.jsp

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
SimpleUrlHandlerMapping:
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/test/userPage.do"><ref bean="userController"/></entry>
</map>
</property>
</bean>
Controllers :
<bean id="userFormValidator" class="com.UserFormValidator"/>
<bean id="userController" class="com.UserController">
<property name="sessionForm"><value>true</value></property>
<property name="commandName"><value>userBean</value></property>
<property name="commandClass"><value>com.UserBean</value></property>
<property name="validator"><ref bean="userFormValidator"/></property>
<property name="formView"><value>userForm</value></property>
<property name="successView"><value>success</value></property>
<property name="userdao"><ref bean="userdao"/></property>
</bean>
If in the browser you call http://localhost:8080/springhibernate/test/userPage.do then formBackingObject() method of UserController class will be called and forward to /WEB-INF/jsp/userForm.jsp based on below configuration
<property name="formView"><value>userForm</value></property>
formBackingObject() method return formView.

Step 3. Controller classes

UserController.java
If in the browser you call http://localhost:8080/springhibernate/test/userPage.do then formBackingObject() method of UserController class will be called and forward to /WEB-INF/jsp/userForm.jsp based on below configuration
<property name="formView"><value>userForm</value></property>
package com;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;


public class UserController extends SimpleFormController{
private UserDAO userdao;

public Object formBackingObject(HttpServletRequest request) throws ServletException
{
UserBean backingObject = new UserBean();
System.out.println("formBackingObject");

return backingObject;
}

public ModelAndView onSubmit(Object command) throws ServletException {
UserBean user = (UserBean)command;
System.out.println("username :"+user.getUserName());
System.out.println("dept :"+user.getDeptName());
getUserdao().saveUser(user);
//Now you can validate to database
return new ModelAndView("succes");
}



/**
* @return Returns the userdao.
*/
public UserDAO getUserdao() {
return userdao;
}
/**
* @param userdao The userdao to set.
*/
public void setUserdao(UserDAO userdao) {
this.userdao = userdao;
}
}


In the userForm.jsp
<form method="post" action="/springhibernate/test/userPage.do">
<input type="submit" alignment="center" value="Save">
on submit the save button call will goto onSubmit() method of the UserController.java
and besed on return new ModelAndView("succes"); contoller forward to /WEB-INF/jsp/succes.jsp

Spring and Hibernate Integration

Step 4. applicationContext.xml

applicationContext.xml contains all the Dependency Injections . And it contains hibernate SessionFactory information also. Here Hibernate integatred with Spring.
userservice object has userdao object as setter Injection
userdao object has sessionFactory object as setter Injection.


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<property name="url"><value>jdbc:mysql://localhost:3306/techfaq</value></property>
<property name="username"><value>techfaq</value></property>
<property name="password"><value>techfaq</value></property>

</bean>
<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource"><ref bean="myDataSource"/></property>
<property name="mappingResources">
<list>
<value>/com/user.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
</value>
</property>
</bean>

<bean id="userdao" class="com.UserDAO">
<property name="sessionFactory"><ref bean="mySessionFactory"/></property>

</bean>

</beans>

here is the relation between userController and userdao. (in the test-servlet.xml)
<bean id="userController" class="com.UserController">
<property name="sessionForm"><value>true</value></property>
<property name="commandName"><value>userBean</value></property>
<property name="commandClass"><value>com.UserBean</value></property>
<property name="validator"><ref bean="userFormValidator"/></property>
<property name="formView"><value>userForm</value></property>
<property name="successView"><value>success</value></property>
<property name="userdao"><ref bean="userdao"/></property>
</bean>

Hibernate Part


Step 1. Create Table in Data Base


CREATE TABLE `techfaq`.`user_test`
( `user_id` int(10) unsigned NOT NULL auto_increment,
`user_name` varchar(45) default NULL,
`dept_name` varchar(45) default NULL,
PRIMARY KEY (`user_id`));

Step 2. user.hbm.xml which maps to user_test TABLE


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
<class name="com.UserBean" table="USER_TEST">
<id name="userId" column="USER_ID" type="int">
<generator class="native"/>
</id>

<property name="userName" column="user_name"/>
<property name="deptName" column="dept_name"/>




</class>

</hibernate-mapping>

Step 3. UserBean.java which maps to user.hbm.xml and user_test TABLE

package com;


public class UserBean {
int userId;
String userName;
String deptName;



/**
* @return Returns the userName.
*/
public String getUserName() {
return userName;
}
/**
* @param userName The userName to set.
*/
public void setUserName(String userName) {
this.userName = userName;
}

/**
* @return Returns the deptName.
*/
public String getDeptName() {
return deptName;
}
/**
* @param deptName The deptName to set.
*/
public void setDeptName(String deptName) {
this.deptName = deptName;
}
/**
* @return Returns the userId.
*/
public int getUserId() {
return userId;
}
/**
* @param userId The userId to set.
*/
public void setUserId(int userId) {
this.userId = userId;
}
}

Step 4. UserDAO.java which is used to save user details into Data Base

package com;


import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

import org.springframework.orm.hibernate.support.HibernateDaoSupport;


public class UserDAO {

private SessionFactory sessionFactory;
public void saveUser(UserBean user){
Session session = getSessionFactory().openSession();
try
{
Transaction tx = session.beginTransaction();
session.save(user);
tx.commit();
}catch(Exception e){
e.printStackTrace();
}finally{
session.close();
}

}


/**
* @return Returns the sessionFactory.
*/
public SessionFactory getSessionFactory() {
return sessionFactory;
}
/**
* @param sessionFactory The sessionFactory to set.
*/
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
}

Your Ad Here The information you are posting should be related to java and ORACLE technology. Not political. Clicky Web Analytics