Struts1 Spring and Hibernate Integration
Register.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %> <html:form action="/RegisterForm"> <center><h1><u> Registration Screen </u></h1> <h2> <table border="0" width="100%" align="center"> <tr> <td><bean:message key="registration.id" /></td> <td><html:text property="id" /></td> </tr> <tr> <td><bean:message key="registration.name" /></td> <td><html:text property="name" /></td> </tr> <tr> <td><bean:message key="registration.address" /></td> <td><html:text property="address" /></td> </tr> <tr> <td><bean:message key="registration.doj" /></td> <td><html:text property="doj" /></td> </tr> <tr> <td><bean:message key="registration.age" /></td> <td><html:text property="age" /></td> </tr> <tr> <td><bean:message key="registration.email" /></td> <td><html:text property="email" /></td> </tr> </table><br><br><center> <html:submit value="Register" /> </h2> </html:form> |
Failure.jsp
1 2 3 4 5 6 7 8 9 10 11 12 | <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <HTML> <BODY> <CENTER><H2> The following error(s) were encountered : <br> <html:errors /> <br><br> <a href="Register.jsp">Try Again ? </a> </H2></CENTER> </BODY> </HTML> |
Success.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 | <%@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"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP success Page</title> </head> <body> <h1>Registration seccess Hello World!</h1> </body> </html> |
web.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern> *.do </url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <taglib> <taglib-uri>struts-html</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>struts-bean</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>struts-logic</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>struts-tiles</taglib-uri> <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location> </taglib> </web-app> |
struts-config.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> <struts-config> <form-beans> <form-bean name="RegisterForm" type="com.myapp.struts.form.RegisterForm"/> </form-beans> <global-exceptions> </global-exceptions> <global-forwards> <forward name="welcome" path="/Welcome.do"/> </global-forwards> <action-mappings> <action input="/Failure.jsp" name="RegisterForm" path="/RegisterForm" scope="session" validate="true" type="com.myapp.struts.action.RegisterAction"/> <action path="/Welcome" forward="/Register.jsp"/> </action-mappings> <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/> <message-resources parameter="com/myapp/struts/ApplicationResource"/> <!-- ========================= Tiles plugin ===============================--> <plug-in className="org.apache.struts.tiles.TilesPlugin" > <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" /> <set-property property="moduleAware" value="true" /> </plug-in> <!-- ========================= Validator plugin ================================= --> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/> </plug-in> </struts-config> |
applicationContext.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <!--bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" p:location="/WEB-INF/jdbc.properties" /> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" p:driverClassName="${jdbc.driverClassName}" p:url="${jdbc.url}" p:username="${jdbc.username}" p:password="${jdbc.password}" /--> <!-- ADD PERSISTENCE SUPPORT HERE (jpa, hibernate, etc) --> <!-- Database Configuration --> <!--import resource="spring-hibernate.xml"/> <import resource="spring-services.xml"/--> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/ebhor" /> <property name="username" value="root" /> <property name="password" value="root" /> </bean> <!-- Hibernate session factory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource"/> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> <property name="mappingResources"> <list> <value>com/myapp/hibernate/Register.hbm.xml</value> </list> </property> </bean> <bean id="registerBo" class="com.myapp.bo.impl.RegisterBoImpl" > <property name="registerDao" ref="registerDao" /> </bean> <bean id="registerDao" class="com.myapp.dao.impl.RegisterDaoImpl" > <property name="sessionFactory" ref="sessionFactory"></property> </bean> </beans> |
RegisterForm.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | package com.myapp.struts.form; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; public class RegisterForm extends org.apache.struts.action.ActionForm { private String name; private String age; private String address; private String email; private String doj; private String id; public String getName() { return name; } public void setName(String string) { name = string; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getDoj() { return doj; } public void setDoj(String doj) { this.doj = doj; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getId() { return id; } public void setId(String id) { this.id = id; } public RegisterForm() { super(); } public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); if (getName() == null || getName().length() < 1) { errors.add("name", new ActionMessage("error.name.required")); } if (getAddress() == null || getAddress().length() <= 10) { errors.add("address", new ActionMessage("error.address.required")); } if (getAge() == null || getAge().length() <= 1) { errors.add("age", new ActionMessage("error.age.required")); } if (doj == null || doj.length() <= 4) { errors.add("doj", new ActionMessage("error.doj.required")); } if (email == null || email.equals("")) { errors.add("email", new ActionMessage("error.email.required")); } return errors; } } |
RegisterAction.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | package com.myapp.struts.action; import com.myapp.bo.RegisterBo; import com.myapp.hibernate.Register; import com.myapp.struts.form.RegisterForm; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.context.ApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import org.apache.commons.beanutils.BeanUtils; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionForward; public class RegisterAction extends org.apache.struts.action.Action { private final static String SUCCESS = "success"; public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { RegisterBo registerBo = (RegisterBo) Plugin.getContext(request).getBean("registerBo"); System.out.println("aaaaaaaa"); RegisterForm registerForm = (RegisterForm) form; System.out.println("aaaaaaaa"); Register register = new Register(); BeanUtils.copyProperties(register, registerForm); registerBo.addRegister(register); return mapping.findForward(SUCCESS); } } |
Register.hbm.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Generated Oct 7, 2011 5:54:08 PM by Hibernate Tools 3.2.1.GA --> <hibernate-mapping> <class name="com.myapp.hibernate.Register" table="register" catalog="ebhor"> <id name="id" type="java.lang.Integer"> <column name="id" /> <generator class="identity" /> </id> <property name="name" type="string"> <column name="name" length="45" not-null="true" /> </property> <property name="age" type="string"> <column name="age" length="45" not-null="true" /> </property> <property name="doj" type="string"> <column name="doj" length="45" not-null="true" /> </property> <property name="email" type="string"> <column name="email" length="45" not-null="true" /> </property> <property name="address" type="string"> <column name="address" length="45" not-null="true" /> </property> </class> </hibernate-mapping> |
Register.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | package com.myapp.hibernate; public class Register implements java.io.Serializable { private Integer id; private String name; private String age; private String doj; private String email; private String address; public Register() { } public Register(String name, String age, String doj, String email, String address) { this.name = name; this.age = age; this.doj = doj; this.email = email; this.address = address; } public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public String getAge() { return this.age; } public void setAge(String age) { this.age = age; } public String getDoj() { return this.doj; } public void setDoj(String doj) { this.doj = doj; } public String getEmail() { return this.email; } public void setEmail(String email) { this.email = email; } public String getAddress() { return this.address; } public void setAddress(String address) { this.address = address; } } |
RegisterDao.java
1 2 3 4 5 6 7 8 9 10 11 | package com.myapp.dao; import com.myapp.hibernate.Register; import java.util.List; public interface RegisterDao { void addRegister(Register register); List<Register> findAllRegister(); } |
RegisterDao.Impl.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | package com.myapp.dao.impl; import com.myapp.dao.RegisterDao; import com.myapp.hibernate.Register; import java.util.List; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class RegisterDaoImpl extends HibernateDaoSupport implements RegisterDao{ public void addRegister(Register register) { //register.setAddress("address"); getHibernateTemplate().save(register); } public List<Register> findAllRegister() { return getHibernateTemplate().find("from Register"); } } |
RegisterBoImpl.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | package com.myapp.bo.impl; import com.myapp.bo.RegisterBo; import com.myapp.dao.RegisterDao; import com.myapp.hibernate.Register; import java.util.List; public class RegisterBoImpl implements RegisterBo { RegisterDao registerDao; public void setRegisterDao(RegisterDao registerDao){ this.registerDao=registerDao; } public void addRegister(Register register) { registerDao.addRegister(register); } public List<Register> findAllRegister() { return registerDao.findAllRegister(); } } |
RegisterBo.java
1 2 3 4 5 6 7 8 9 10 11 | package com.myapp.bo; import com.myapp.hibernate.Register; import java.util.List; public interface RegisterBo { void addRegister(Register register); List<Register> findAllRegister(); } |