From 2dfcfaf632244ce604ec8b67b50c91a6f5503a44 Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Wed, 24 Oct 2012 00:47:52 +0530 Subject: [PATCH 01/23] Change the group and artifact id in pom --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index bd65396..dffdb2a 100755 --- a/pom.xml +++ b/pom.xml @@ -1,8 +1,8 @@ 4.0.0 - com.example - spring-hibernate-template + com.github.kdabir + groovy-springmvc-sample war 0.0.1-SNAPSHOT From e6d96e622089aa3f35b1a45412d8ed81131de703 Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Wed, 24 Oct 2012 00:56:33 +0530 Subject: [PATCH 02/23] Update the heading of the app in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a3d7eb7..eca72fa 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Spring MVC and Hibernate template application +# Groovy, Spring MVC and Hibernate sample application This is a template for a web application that uses Spring MVC and Hibernate. The sample code is a simple CRUD page that manipulates records for a single model object. From 93d0cf45cb27b1c55512f46008f7cf3f9acf7dfb Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Thu, 25 Oct 2012 01:00:34 +0530 Subject: [PATCH 03/23] Add a plain vanila jdbc impl for person service jut to remind oneself of good ol' java programming days. also need to add qualifier in controller as there are two impl of person service --- .../example/controller/PersonController.java | 2 + .../service/PersonServiceJdbcImpl.java | 96 +++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 src/main/java/com/example/service/PersonServiceJdbcImpl.java diff --git a/src/main/java/com/example/controller/PersonController.java b/src/main/java/com/example/controller/PersonController.java index 82ee420..8c49802 100755 --- a/src/main/java/com/example/controller/PersonController.java +++ b/src/main/java/com/example/controller/PersonController.java @@ -1,6 +1,7 @@ package com.example.controller; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.ModelAttribute; @@ -16,6 +17,7 @@ @Controller public class PersonController { + @Qualifier("personServiceImpl") @Autowired private PersonService personService; diff --git a/src/main/java/com/example/service/PersonServiceJdbcImpl.java b/src/main/java/com/example/service/PersonServiceJdbcImpl.java new file mode 100644 index 0000000..4371c30 --- /dev/null +++ b/src/main/java/com/example/service/PersonServiceJdbcImpl.java @@ -0,0 +1,96 @@ +package com.example.service; + +import com.example.model.Person; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.sql.DataSource; +import java.sql.*; +import java.util.ArrayList; +import java.util.List; + +@Service +public class PersonServiceJdbcImpl implements PersonService { + + @Autowired + DataSource dataSource; + + @Override + public void addPerson(Person person) { + Connection connection = null; + + try { + connection = dataSource.getConnection(); + + PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO PUBLIC.PERSON(FIRSTNAME,LASTNAME) VALUES (?,?)"); + preparedStatement.setString(1, person.getFirstName()); + preparedStatement.setString(2, person.getLastName()); + + preparedStatement.execute(); + + } catch (SQLException e) { + e.printStackTrace(); + } finally { + if (connection != null) { + try { + connection.close(); + } catch (SQLException e) {} + } + } + + } + + @Override + public List listPeople() { + Connection connection = null; + List people = new ArrayList(); + + try { + connection = dataSource.getConnection(); + Statement statement = connection.createStatement(); + + ResultSet resultSet = statement.executeQuery("SELECT * FROM PUBLIC.PERSON"); + while (resultSet.next()) { + Person person = new Person(); + person.setId(resultSet.getInt("ID")); + person.setFirstName(resultSet.getString("FIRSTNAME")); + person.setLastName(resultSet.getString("LASTNAME")); + + people.add(person); + } + + } catch (SQLException e) { + e.printStackTrace(); + } finally { + if (connection != null) { + try { + connection.close(); + } catch (SQLException e) {} + } + } + + return people; + } + + @Override + public void removePerson(Integer id) { + Connection connection = null; + + try { + connection = dataSource.getConnection(); + PreparedStatement preparedStatement = connection.prepareStatement("DELETE FROM PUBLIC.PERSON WHERE PERSON.ID=?"); + preparedStatement.setInt(1, id); + + preparedStatement.execute(); + } catch (SQLException e) { + e.printStackTrace(); + } finally { + if (connection != null) { + try { + connection.close(); + } catch (SQLException e) {} + } + } + + } +} From 580ff0a2429bd37e25c1825ad3434d03edc0ced8 Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Thu, 25 Oct 2012 01:04:06 +0530 Subject: [PATCH 04/23] Add a spring jdbc based person service impl also need to add spring-jdbc module in pom for that --- pom.xml | 5 ++ .../service/PersonServiceSpringJdbcImpl.java | 49 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 src/main/java/com/example/service/PersonServiceSpringJdbcImpl.java diff --git a/pom.xml b/pom.xml index dffdb2a..f282e53 100755 --- a/pom.xml +++ b/pom.xml @@ -28,6 +28,11 @@ spring-orm ${org.springframework.version} + + org.springframework + spring-jdbc + ${org.springframework.version} + taglibs standard diff --git a/src/main/java/com/example/service/PersonServiceSpringJdbcImpl.java b/src/main/java/com/example/service/PersonServiceSpringJdbcImpl.java new file mode 100644 index 0000000..cb83d47 --- /dev/null +++ b/src/main/java/com/example/service/PersonServiceSpringJdbcImpl.java @@ -0,0 +1,49 @@ +package com.example.service; + +import com.example.model.Person; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.RowMapper; +import org.springframework.jdbc.core.support.JdbcDaoSupport; +import org.springframework.stereotype.Service; + +import javax.sql.DataSource; +import java.sql.*; +import java.util.ArrayList; +import java.util.List; + +@Service +public class PersonServiceSpringJdbcImpl extends JdbcDaoSupport implements PersonService { + + @Autowired + PersonServiceSpringJdbcImpl(DataSource dataSource) { + this.setDataSource(dataSource); + } + + @Override + public void addPerson(Person person) { + getJdbcTemplate().update( + "INSERT INTO PERSON (FIRSTNAME,LASTNAME) VALUES (?, ?)", + new Object[]{person.getFirstName(), person.getLastName()} + ); + } + + @Override + public List listPeople() { + return getJdbcTemplate().query( + "select * from person", + new RowMapper() { + public Person mapRow(ResultSet rs, int rowNum) throws SQLException { + Person person = new Person(); + person.setId(rs.getInt("ID")); + person.setFirstName(rs.getString("FIRSTNAME")); + person.setLastName(rs.getString("LASTNAME")); + return person; + } + }); + } + + @Override + public void removePerson(Integer id) { + getJdbcTemplate().update("DELETE FROM PERSON WHERE ID = ?", id); + } +} From c1b57b79221e148ce316df8ba73b0b8d3e02c1dc Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Thu, 25 Oct 2012 20:05:11 +0530 Subject: [PATCH 05/23] Uppercase the query --- .../java/com/example/service/PersonServiceSpringJdbcImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/example/service/PersonServiceSpringJdbcImpl.java b/src/main/java/com/example/service/PersonServiceSpringJdbcImpl.java index cb83d47..c2f827e 100644 --- a/src/main/java/com/example/service/PersonServiceSpringJdbcImpl.java +++ b/src/main/java/com/example/service/PersonServiceSpringJdbcImpl.java @@ -30,7 +30,7 @@ public void addPerson(Person person) { @Override public List listPeople() { return getJdbcTemplate().query( - "select * from person", + "SELECT * FROM PERSON", new RowMapper() { public Person mapRow(ResultSet rs, int rowNum) throws SQLException { Person person = new Person(); From 13a783690f9cb093c937d32238dcb3a256436303 Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Thu, 25 Oct 2012 22:00:38 +0530 Subject: [PATCH 06/23] change DispatcherServlet's path mapping to web app root / By doing so dispatcher servlet handles all request that are not fulfilled by any other servlet/jsp. We can exclude resources dir if need be. --- src/main/java/com/example/controller/PersonController.java | 1 + src/main/webapp/WEB-INF/web.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/example/controller/PersonController.java b/src/main/java/com/example/controller/PersonController.java index 8c49802..0de5ae8 100755 --- a/src/main/java/com/example/controller/PersonController.java +++ b/src/main/java/com/example/controller/PersonController.java @@ -15,6 +15,7 @@ import java.util.Map; @Controller +@RequestMapping("/people") public class PersonController { @Qualifier("personServiceImpl") diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 799bb7a..a2b9421 100755 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -23,6 +23,6 @@ spring - /people/* + / \ No newline at end of file From 4e2791a1b4b64e14c1304018bd73e73c0496ad63 Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Thu, 25 Oct 2012 23:20:42 +0530 Subject: [PATCH 07/23] add jetty plugin so that webapp can be run as mvn jetty:run --- pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pom.xml b/pom.xml index f282e53..cf1dca5 100755 --- a/pom.xml +++ b/pom.xml @@ -84,6 +84,12 @@ maven-war-plugin 2.2 + + + org.mortbay.jetty + jetty-maven-plugin + + org.apache.maven.plugins maven-dependency-plugin From 3d95288557f87fd0cf41ea8baeed8a054ccd543f Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Fri, 26 Oct 2012 00:03:56 +0530 Subject: [PATCH 08/23] add plugin version for jetty plugin because thats the right thing to do to make maven stop throwing warnings :) --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index cf1dca5..a026dba 100755 --- a/pom.xml +++ b/pom.xml @@ -88,6 +88,7 @@ org.mortbay.jetty jetty-maven-plugin + 8.1.7.v20120910 From 2858f464c150188ad15469b92cf1f35e41006a22 Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Fri, 26 Oct 2012 00:06:44 +0530 Subject: [PATCH 09/23] add groovy as dependency, just like any other library --- pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pom.xml b/pom.xml index a026dba..7cf3c6e 100755 --- a/pom.xml +++ b/pom.xml @@ -18,6 +18,12 @@ 3.0.1 provided + + + org.codehaus.groovy + groovy-all + 2.0.5 + org.springframework spring-webmvc From d58f6cf6b568333afce659b4d8d1d8a80d1c3f67 Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Fri, 26 Oct 2012 00:22:51 +0530 Subject: [PATCH 10/23] Add groovy-eclipse-compiler as dependency of maven compiler plugin and tell it to delegate compilation to groovy-eclipse-compiler --- pom.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pom.xml b/pom.xml index 7cf3c6e..6fff422 100755 --- a/pom.xml +++ b/pom.xml @@ -84,7 +84,15 @@ 1.6 1.6 + groovy-eclipse-compiler + + + org.codehaus.groovy + groovy-eclipse-compiler + 2.7.0-01 + + maven-war-plugin From 1b5a81fd24bd0589e3fa2ff713850f2c6ba01387 Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Fri, 26 Oct 2012 22:15:38 +0530 Subject: [PATCH 11/23] Just for fun, rename the Person.java to Person.groovy --- src/main/java/com/example/model/{Person.java => Person.groovy} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/java/com/example/model/{Person.java => Person.groovy} (100%) diff --git a/src/main/java/com/example/model/Person.java b/src/main/java/com/example/model/Person.groovy similarity index 100% rename from src/main/java/com/example/model/Person.java rename to src/main/java/com/example/model/Person.groovy From 2fe643bd51205fb61aa53b2ff7d6a79b2e5d894a Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Sat, 27 Oct 2012 01:34:36 +0530 Subject: [PATCH 12/23] Remove noise from the entity class --- src/main/java/com/example/model/Person.groovy | 31 ++----------------- 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/example/model/Person.groovy b/src/main/java/com/example/model/Person.groovy index ce297eb..649bd07 100755 --- a/src/main/java/com/example/model/Person.groovy +++ b/src/main/java/com/example/model/Person.groovy @@ -9,35 +9,10 @@ public class Person { @Id @GeneratedValue - private Integer id; + Integer id - private String firstName; + String firstName - private String lastName; - - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } + String lastName } From 06eb712a5b6195f0417549f0552316c8389c7334 Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Sat, 27 Oct 2012 02:48:08 +0530 Subject: [PATCH 13/23] Add the groovy version of PersonService that uses groovy.sql.Sql to perform JDBC operations --- .../example/controller/PersonController.java | 2 +- .../PersonServiceGroovyJdbcImpl.groovy | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/example/service/PersonServiceGroovyJdbcImpl.groovy diff --git a/src/main/java/com/example/controller/PersonController.java b/src/main/java/com/example/controller/PersonController.java index 0de5ae8..223a7db 100755 --- a/src/main/java/com/example/controller/PersonController.java +++ b/src/main/java/com/example/controller/PersonController.java @@ -18,7 +18,7 @@ @RequestMapping("/people") public class PersonController { - @Qualifier("personServiceImpl") + @Qualifier("personServiceGroovyJdbcImpl") @Autowired private PersonService personService; diff --git a/src/main/java/com/example/service/PersonServiceGroovyJdbcImpl.groovy b/src/main/java/com/example/service/PersonServiceGroovyJdbcImpl.groovy new file mode 100644 index 0000000..7571cfd --- /dev/null +++ b/src/main/java/com/example/service/PersonServiceGroovyJdbcImpl.groovy @@ -0,0 +1,38 @@ +package com.example.service; + + +import com.example.model.Person +import groovy.sql.Sql +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.stereotype.Service + +import javax.sql.DataSource + +@Service +public class PersonServiceGroovyJdbcImpl implements PersonService { + + @Autowired + DataSource dataSource; + + @Override + public void addPerson(Person person) { + new Sql(dataSource).execute('INSERT INTO PUBLIC.PERSON(FIRSTNAME,LASTNAME) VALUES (?,?)', + [person.firstName, person.lastName]) + } + + @Override + public List listPeople() { + List people = [] + + new Sql(dataSource).eachRow("SELECT * FROM PUBLIC.PERSON") { + people << new Person(id: it.id, firstName: it.firstName, lastName: it.lastName) + } + + return people; + } + + @Override + public void removePerson(Integer id) { + new Sql(dataSource).execute("DELETE FROM PUBLIC.PERSON WHERE PERSON.ID=$id"); + } +} From 602742b0adef1f7c569445ddc11bd5065193654d Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Sat, 27 Oct 2012 02:53:52 +0530 Subject: [PATCH 14/23] Rename the controller to end with .groovy extension --- .../controller/{PersonController.java => PersonController.groovy} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/java/com/example/controller/{PersonController.java => PersonController.groovy} (100%) diff --git a/src/main/java/com/example/controller/PersonController.java b/src/main/java/com/example/controller/PersonController.groovy similarity index 100% rename from src/main/java/com/example/controller/PersonController.java rename to src/main/java/com/example/controller/PersonController.groovy From 7b156429e4c6ff3e1a7016efe169a92bc8c966a1 Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Sat, 27 Oct 2012 03:02:18 +0530 Subject: [PATCH 15/23] Controller feels little lighter once some of java baggage is dropped --- .../controller/PersonController.groovy | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/example/controller/PersonController.groovy b/src/main/java/com/example/controller/PersonController.groovy index 223a7db..2a32b94 100755 --- a/src/main/java/com/example/controller/PersonController.groovy +++ b/src/main/java/com/example/controller/PersonController.groovy @@ -12,38 +12,36 @@ import org.springframework.web.bind.annotation.RequestMethod; import com.example.model.Person; import com.example.service.PersonService; -import java.util.Map; - @Controller @RequestMapping("/people") -public class PersonController { +class PersonController { @Qualifier("personServiceGroovyJdbcImpl") @Autowired - private PersonService personService; + PersonService personService; @RequestMapping("/") - public String listPeople(Map map) { + String listPeople(Map map) { - map.put("person", new Person()); - map.put("peopleList", personService.listPeople()); + map.person = new Person() + map.peopleList = personService.listPeople() - return "people"; + "people" } @RequestMapping(value = "/add", method = RequestMethod.POST) - public String addPerson(@ModelAttribute("person") Person person, BindingResult result) { + String addPerson(@ModelAttribute("person") Person person, BindingResult result) { - personService.addPerson(person); + personService.addPerson(person) - return "redirect:/people/"; + "redirect:/people/" } @RequestMapping("/delete/{personId}") - public String deletePerson(@PathVariable("personId") Integer personId) { + String deletePerson(@PathVariable("personId") Integer personId) { - personService.removePerson(personId); + personService.removePerson(personId) - return "redirect:/people/"; + "redirect:/people/" } } From 4de92d2614e52d4b9cd15d91bb9b9d270e824b95 Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Sat, 27 Oct 2012 03:08:55 +0530 Subject: [PATCH 16/23] Remove Schema Name from SQL queries. Schema names were written assuming HSQLDB :) --- .../com/example/service/PersonServiceGroovyJdbcImpl.groovy | 6 +++--- .../java/com/example/service/PersonServiceJdbcImpl.java | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/example/service/PersonServiceGroovyJdbcImpl.groovy b/src/main/java/com/example/service/PersonServiceGroovyJdbcImpl.groovy index 7571cfd..f7cf7f2 100644 --- a/src/main/java/com/example/service/PersonServiceGroovyJdbcImpl.groovy +++ b/src/main/java/com/example/service/PersonServiceGroovyJdbcImpl.groovy @@ -16,7 +16,7 @@ public class PersonServiceGroovyJdbcImpl implements PersonService { @Override public void addPerson(Person person) { - new Sql(dataSource).execute('INSERT INTO PUBLIC.PERSON(FIRSTNAME,LASTNAME) VALUES (?,?)', + new Sql(dataSource).execute('INSERT INTO PERSON(FIRSTNAME,LASTNAME) VALUES (?,?)', [person.firstName, person.lastName]) } @@ -24,7 +24,7 @@ public class PersonServiceGroovyJdbcImpl implements PersonService { public List listPeople() { List people = [] - new Sql(dataSource).eachRow("SELECT * FROM PUBLIC.PERSON") { + new Sql(dataSource).eachRow("SELECT * FROM PERSON") { people << new Person(id: it.id, firstName: it.firstName, lastName: it.lastName) } @@ -33,6 +33,6 @@ public class PersonServiceGroovyJdbcImpl implements PersonService { @Override public void removePerson(Integer id) { - new Sql(dataSource).execute("DELETE FROM PUBLIC.PERSON WHERE PERSON.ID=$id"); + new Sql(dataSource).execute("DELETE FROM PERSON WHERE PERSON.ID=$id"); } } diff --git a/src/main/java/com/example/service/PersonServiceJdbcImpl.java b/src/main/java/com/example/service/PersonServiceJdbcImpl.java index 4371c30..5f6e94f 100644 --- a/src/main/java/com/example/service/PersonServiceJdbcImpl.java +++ b/src/main/java/com/example/service/PersonServiceJdbcImpl.java @@ -22,7 +22,7 @@ public void addPerson(Person person) { try { connection = dataSource.getConnection(); - PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO PUBLIC.PERSON(FIRSTNAME,LASTNAME) VALUES (?,?)"); + PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO PERSON(FIRSTNAME,LASTNAME) VALUES (?,?)"); preparedStatement.setString(1, person.getFirstName()); preparedStatement.setString(2, person.getLastName()); @@ -49,7 +49,7 @@ public List listPeople() { connection = dataSource.getConnection(); Statement statement = connection.createStatement(); - ResultSet resultSet = statement.executeQuery("SELECT * FROM PUBLIC.PERSON"); + ResultSet resultSet = statement.executeQuery("SELECT * FROM PERSON"); while (resultSet.next()) { Person person = new Person(); person.setId(resultSet.getInt("ID")); @@ -78,7 +78,7 @@ public void removePerson(Integer id) { try { connection = dataSource.getConnection(); - PreparedStatement preparedStatement = connection.prepareStatement("DELETE FROM PUBLIC.PERSON WHERE PERSON.ID=?"); + PreparedStatement preparedStatement = connection.prepareStatement("DELETE FROM PERSON WHERE PERSON.ID=?"); preparedStatement.setInt(1, id); preparedStatement.execute(); From c3044ddb5e1be268f975a5d2df66e9de37fa9e55 Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Sat, 27 Oct 2012 09:55:36 +0530 Subject: [PATCH 17/23] Add stop port and key so that jetty can be stopped from command line. Also add scan interval so that jetty reloads context without needing a restart Hot reloads may cause issues, like Out Of Memory, but thats okay as its dev only thing, just kill the process :) --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index 6fff422..1393452 100755 --- a/pom.xml +++ b/pom.xml @@ -103,6 +103,11 @@ org.mortbay.jetty jetty-maven-plugin 8.1.7.v20120910 + + 3 + groovy-rocks + 8123 + From a690d3aa0dcf8481a73a110a28a812c0b30e16fd Mon Sep 17 00:00:00 2001 From: Kunal Dabir Date: Sat, 27 Oct 2012 10:36:35 +0530 Subject: [PATCH 18/23] Add groovy favicon --- src/main/webapp/favicon.ico | Bin 0 -> 4286 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/webapp/favicon.ico diff --git a/src/main/webapp/favicon.ico b/src/main/webapp/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2d6425a9d855ef6a861c5192b2cc1b17c30b32f4 GIT binary patch literal 4286 zcmeHLYfO_@7%nkHK?;J*fo5DLtqm7}YM?8~-IY=(_p$&T(2|LZWFyGX%_TEPBhcwH>o+S>5^ z`SVrxEH_EKZr!?tf&&Mz?+ZVq#qULOa?%I+(msPB9cO+{LGw8y4&_B4a-R}~g@w3% zd-#KzJbLs9H8nNR?2klhoD$_fCgJKIW`wGISkvXWE*-mn|2~40a{O7FhfcBgYMq(+ zB*g|GE;a^rb#-|B__2k{t5>gZ^X5(Dn@xxe@kP-$F}Qp_7kZ5ns^B0P()9526B?wY z;m(~qOX1#ofB5hr#>dA|TU!hBS8B#44sW}O?S7vhg>bbGzCBog^73*-MW~Ug3&i=8 z8SmE7dJ_^g0qE@PWcw5=eSLjUC=@Gln4h1AN~L11zP>)Nm)fGNB!O-H&0&Fy8Rt)A z;MjM%cRHCCVZU9|A@obq>(J29fa2m}ba!{7qoV^UDJk!rnO=xrWo0E25)wdq-n(~? zb@ub~MSP5((7}Ws4t|N8bQNk&82*7p^NTsQ*W@5s8vrXSE7;oFz}eXuSy@?VZf=H$ zhlj;?3q%Oh$;k;-RaKaonX$~z&COwdObmhoJrN{w^Y|~v;kZQ#mGX0Zw&N2-hbnOK zOcsg{#0cLjKrvEZk%_2KZxj?1ps}$L*4EZIefl)pY-(zPySux^{sKOozo@7P;(mmU zjSaNgSPTvh^1Al+b{_BT?ZxcuEH-W0gri4~;=zLlICbh29PDio6%~bR*RF9q>~P%* zS63GhcWQxwf$V$2=;`S}WMt$5tmQc{Fu;B%8|0tp=xA);zMc7>J9n1PK;!oI_Smpt z1BQo(*_XsAH8mBKGn5lgo;-okXoOy`XO0wq;o;$|tB;Ql*EW;M#6Bi)s!Iv+TA`&g z`=8>E&cAWvMn02Hr$b_5BII&8yuH2oETj?Thnt(5@U1O08VzpTxPi@^H^aff0hyVZ zj8E$V0s=VZNgs*@%0u#5ScnowjvPUus4vZDjVLrlz-%_N&5@B2nFE;u(;89AO$ zmg>>oauMyVjkwg*08dX(_6^}XIy!Q^YPDMI+O-RIc6QvQQmHtj6rOI*j2Rjlf={ Date: Sat, 27 Oct 2012 12:02:05 +0530 Subject: [PATCH 19/23] Add Sitemesh for DRY layout management. remove Heroku specific Text and design from the site. --- pom.xml | 6 + src/main/webapp/WEB-INF/jsp/people.jsp | 98 ++-- .../WEB-INF/layouts/bootstrap_layout.jsp | 70 +++ src/main/webapp/WEB-INF/sitemesh3.xml | 3 + src/main/webapp/WEB-INF/web.xml | 9 + src/main/webapp/index.jsp | 417 +----------------- 6 files changed, 142 insertions(+), 461 deletions(-) create mode 100644 src/main/webapp/WEB-INF/layouts/bootstrap_layout.jsp create mode 100644 src/main/webapp/WEB-INF/sitemesh3.xml diff --git a/pom.xml b/pom.xml index 1393452..fc92f90 100755 --- a/pom.xml +++ b/pom.xml @@ -75,6 +75,12 @@ 7.0.27.1 provided + + + org.sitemesh + sitemesh + 3.0-alpha-1 + diff --git a/src/main/webapp/WEB-INF/jsp/people.jsp b/src/main/webapp/WEB-INF/jsp/people.jsp index fd05abf..975bb7d 100755 --- a/src/main/webapp/WEB-INF/jsp/people.jsp +++ b/src/main/webapp/WEB-INF/jsp/people.jsp @@ -1,76 +1,52 @@ -<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%> -<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%> -<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> +<%@taglib uri="http://www.springframework.org/tags" prefix="spring" %> +<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %> +<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> - - Spring MVC and Hibernate Template - - - - - - - - - - - + Simple CRUD Page -