From f7498c79df1ce585d4025f3f64d34d205143c868 Mon Sep 17 00:00:00 2001
From: Tomas Repel <trepel@redhat.com>
Date: Fri, 2 Oct 2015 11:33:57 +0200
Subject: [PATCH] Removed HTTP PUT method - it is not supported in JSP 2.3

---
 .../samples/petclinic/web/OwnerController.java      |  2 +-
 .../samples/petclinic/web/PetController.java        |  2 +-
 .../WEB-INF/jsp/owners/createOrUpdateOwnerForm.jsp  |  6 +-----
 .../WEB-INF/jsp/pets/createOrUpdatePetForm.jsp      | 10 +---------
 src/main/webapp/WEB-INF/web.xml                     | 13 -------------
 5 files changed, 4 insertions(+), 29 deletions(-)

diff --git a/src/main/java/org/springframework/samples/petclinic/web/OwnerController.java b/src/main/java/org/springframework/samples/petclinic/web/OwnerController.java
index ecbbce5..9f2ffb0 100644
--- a/src/main/java/org/springframework/samples/petclinic/web/OwnerController.java
+++ b/src/main/java/org/springframework/samples/petclinic/web/OwnerController.java
@@ -116,7 +116,7 @@ public class OwnerController {
         return "owners/createOrUpdateOwnerForm";
     }
 
-    @RequestMapping(value = "/owners/{ownerId}/edit", method = RequestMethod.PUT)
+    @RequestMapping(value = "/owners/{ownerId}/edit", method = RequestMethod.POST)
     public String processUpdateOwnerForm(@Valid Owner owner, BindingResult result, SessionStatus status) {
         if (result.hasErrors()) {
             return "owners/createOrUpdateOwnerForm";
diff --git a/src/main/java/org/springframework/samples/petclinic/web/PetController.java b/src/main/java/org/springframework/samples/petclinic/web/PetController.java
index bf82302..9fdae68 100644
--- a/src/main/java/org/springframework/samples/petclinic/web/PetController.java
+++ b/src/main/java/org/springframework/samples/petclinic/web/PetController.java
@@ -91,7 +91,7 @@ public class PetController {
         return "pets/createOrUpdatePetForm";
     }
 
-    @RequestMapping(value = "/owners/{ownerId}/pets/{petId}/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    @RequestMapping(value = "/owners/{ownerId}/pets/{petId}/edit", method = RequestMethod.POST)
     public String processUpdateForm(@Valid Pet pet, BindingResult result, SessionStatus status) {
         if (result.hasErrors()) {
             return "pets/createOrUpdatePetForm";
diff --git a/src/main/webapp/WEB-INF/jsp/owners/createOrUpdateOwnerForm.jsp b/src/main/webapp/WEB-INF/jsp/owners/createOrUpdateOwnerForm.jsp
index 0479f0b..a3cc2ad 100644
--- a/src/main/webapp/WEB-INF/jsp/owners/createOrUpdateOwnerForm.jsp
+++ b/src/main/webapp/WEB-INF/jsp/owners/createOrUpdateOwnerForm.jsp
@@ -15,15 +15,11 @@
 <body>
 <div class="container">
     <jsp:include page="../fragments/bodyHeader.jsp"/>
-    <c:choose>
-        <c:when test="${owner['new']}"><c:set var="method" value="post"/></c:when>
-        <c:otherwise><c:set var="method" value="put"/></c:otherwise>
-    </c:choose>
 
     <h2>
         <c:if test="${owner['new']}">New </c:if> Owner
     </h2>
-    <form:form modelAttribute="owner" method="${method}" class="form-horizontal" id="add-owner-form">
+    <form:form modelAttribute="owner" class="form-horizontal" id="add-owner-form">
         <petclinic:inputField label="First Name" name="firstName"/>
         <petclinic:inputField label="Last Name" name="lastName"/>
         <petclinic:inputField label="Address" name="address"/>
diff --git a/src/main/webapp/WEB-INF/jsp/pets/createOrUpdatePetForm.jsp b/src/main/webapp/WEB-INF/jsp/pets/createOrUpdatePetForm.jsp
index c41f02d..a3d1441 100644
--- a/src/main/webapp/WEB-INF/jsp/pets/createOrUpdatePetForm.jsp
+++ b/src/main/webapp/WEB-INF/jsp/pets/createOrUpdatePetForm.jsp
@@ -18,21 +18,13 @@
 </script>
 <div class="container">
     <jsp:include page="../fragments/bodyHeader.jsp"/>
-    <c:choose>
-        <c:when test="${pet['new']}">
-            <c:set var="method" value="post"/>
-        </c:when>
-        <c:otherwise>
-            <c:set var="method" value="put"/>
-        </c:otherwise>
-    </c:choose>
 
     <h2>
         <c:if test="${pet['new']}">New </c:if>
         Pet
     </h2>
 
-    <form:form modelAttribute="pet" method="${method}"
+    <form:form modelAttribute="pet"
                class="form-horizontal">
         <div class="control-group" id="owner">
             <label class="control-label">Owner </label>
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index bd3ea6d..7bb52a0 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -98,19 +98,6 @@
         <url-pattern>/*</url-pattern>
     </filter-mapping>
 
-    <!-- used so we can use forms of method type 'PUT' and 'DELETE' (such as in the Pet form)
-see here: http://static.springsource.org/spring/docs/current/spring-framework-reference/html/view.html#rest-method-conversion
--->
-    <filter>
-        <filter-name>httpMethodFilter</filter-name>
-        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
-    </filter>
-
-    <filter-mapping>
-        <filter-name>httpMethodFilter</filter-name>
-        <servlet-name>petclinic</servlet-name>
-    </filter-mapping>
- 
      <!-- Dandelion-Datatables filter, used for basic export -->
      <filter>
         <filter-name>datatables</filter-name>
-- 
GitLab