From 9f3c071fd1198a88fe4aef6c9a28486b02b076e3 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Sat, 14 Feb 2009 09:11:14 +0000 Subject: [PATCH] Polishing the new RESTful interface to the petclinic webapp (SPR-5487): * Eliminated redundant 'clinic' servlet mapping (was: http://localhost:8080/petclinic/clinic/owners; now: http://localhost:8080/petclinic/owners) * A parameterless GET for /owners now returns the list of all owners, rather than an error. * /owners/form is now /owners/search (distinguishes the 'search form' resource from the 'edit owner form' resource) * Eliminated any need for redirects, , and index.jsp. Deleted all of them. * Updated /owners/{oid}/edit to submit using PUT instead of POST * Updated URI for edit pet form from /owners/{oid}/pets/{pid} to /owners/{oid}/pets/{pid}/edit (the edit form is a distinct resource) * Updated /owners/{oid}/pets/{pid}/edit to submit using PUT instead of POST Changes unrelated to the web interface: * Partitioned up JSPs into new owners, pets, and vets folders. * Renamed those JSPs, e.g. ownerForm.jsp -> owners/form.jsp; findOwners.jsp -> owners/search.jsp; owners.jsp -> owners/list.jsp * Updated various controllers to respect the changes to the URI templates, etc. * Updated .classpath to include all necessary projects and libs to run the webapp successfully in WTP * Updated JSP error checking rules to relax validation of fragments like header.jsp and footer.jsp git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@635 50f2f4bb-b051-0410-bef5-90022cba6387 --- .../.classpath | 3 +- ...clipse.jst.common.project.facet.core.prefs | 3 +- ....eclipse.wst.common.project.facet.core.xml | 1 + .../samples/petclinic/web/AddOwnerForm.java | 6 ++-- .../samples/petclinic/web/AddPetForm.java | 6 ++-- .../samples/petclinic/web/AddVisitForm.java | 6 ++-- .../petclinic/web/ClinicController.java | 13 +++++--- .../samples/petclinic/web/EditOwnerForm.java | 8 ++--- .../samples/petclinic/web/EditPetForm.java | 12 +++---- .../samples/petclinic/web/FindOwnersForm.java | 16 +++++++--- .../webapp/WEB-INF/jsp/dataAccessFailure.jsp | 2 +- .../src/main/webapp/WEB-INF/jsp/footer.jsp | 2 +- .../jsp/{ownerForm.jsp => owners/form.jsp} | 7 ++-- .../jsp/{owners.jsp => owners/list.jsp} | 2 -- .../jsp/{findOwners.jsp => owners/search.jsp} | 4 +-- .../jsp/{owner.jsp => owners/show.jsp} | 2 +- .../jsp/{petForm.jsp => pets/form.jsp} | 7 ++-- .../WEB-INF/jsp/{ => pets}/visitForm.jsp | 0 .../WEB-INF/jsp/{vets.jsp => vets/list.jsp} | 2 +- .../src/main/webapp/WEB-INF/jsp/welcome.jsp | 4 +-- .../main/webapp/WEB-INF/petclinic-servlet.xml | 3 +- .../src/main/webapp/WEB-INF/web.xml | 32 +++++++++++++++---- .../src/main/webapp/index.jsp | 5 --- 23 files changed, 89 insertions(+), 57 deletions(-) rename org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/{ownerForm.jsp => owners/form.jsp} (87%) rename org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/{owners.jsp => owners/list.jsp} (98%) rename org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/{findOwners.jsp => owners/search.jsp} (81%) rename org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/{owner.jsp => owners/show.jsp} (97%) rename org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/{petForm.jsp => pets/form.jsp} (86%) rename org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/{ => pets}/visitForm.jsp (100%) rename org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/{vets.jsp => vets/list.jsp} (87%) delete mode 100644 org.springframework.samples.petclinic/src/main/webapp/index.jsp diff --git a/org.springframework.samples.petclinic/.classpath b/org.springframework.samples.petclinic/.classpath index 5c6652e0015..81108d26ac1 100644 --- a/org.springframework.samples.petclinic/.classpath +++ b/org.springframework.samples.petclinic/.classpath @@ -4,7 +4,6 @@ - @@ -36,5 +35,7 @@ + + diff --git a/org.springframework.samples.petclinic/.settings/org.eclipse.jst.common.project.facet.core.prefs b/org.springframework.samples.petclinic/.settings/org.eclipse.jst.common.project.facet.core.prefs index 6582c92cb10..14c3086c3e9 100644 --- a/org.springframework.samples.petclinic/.settings/org.eclipse.jst.common.project.facet.core.prefs +++ b/org.springframework.samples.petclinic/.settings/org.eclipse.jst.common.project.facet.core.prefs @@ -1,3 +1,4 @@ -#Fri Nov 21 08:19:32 EST 2008 +#Fri Feb 13 19:16:19 PST 2009 classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.launching.macosx.MacOSXType\:\:JVM\ 1.6.0/owners=jst.java\:5.0 +classpath.helper/org.eclipse.jst.server.core.container\:\:com.springsource.server.ide.server.core.runtime.classpath\:\:SpringSource\ dm\ Server\ (Runtime)\ v1.0/owners=jst.web\:2.4 eclipse.preferences.version=1 diff --git a/org.springframework.samples.petclinic/.settings/org.eclipse.wst.common.project.facet.core.xml b/org.springframework.samples.petclinic/.settings/org.eclipse.wst.common.project.facet.core.xml index c477e06156e..8c5423f1018 100644 --- a/org.springframework.samples.petclinic/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/org.springframework.samples.petclinic/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -1,5 +1,6 @@ + diff --git a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/AddOwnerForm.java b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/AddOwnerForm.java index ae139890ea9..a5b31f85717 100644 --- a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/AddOwnerForm.java +++ b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/AddOwnerForm.java @@ -44,19 +44,19 @@ public class AddOwnerForm { public String setupForm(Model model) { Owner owner = new Owner(); model.addAttribute(owner); - return "ownerForm"; + return "owners/form"; } @RequestMapping(method = RequestMethod.POST) public String processSubmit(@ModelAttribute Owner owner, BindingResult result, SessionStatus status) { new OwnerValidator().validate(owner, result); if (result.hasErrors()) { - return "ownerForm"; + return "owners/form"; } else { this.clinic.storeOwner(owner); status.setComplete(); - return "redirect:/clinic/owners/" + owner.getId(); + return "redirect:/owners/" + owner.getId(); } } diff --git a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/AddPetForm.java b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/AddPetForm.java index d2ce02eaacb..4247cf8d295 100644 --- a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/AddPetForm.java +++ b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/AddPetForm.java @@ -56,19 +56,19 @@ public class AddPetForm { Pet pet = new Pet(); owner.addPet(pet); model.addAttribute("pet", pet); - return "petForm"; + return "pets/form"; } @RequestMapping(method = RequestMethod.POST) public String processSubmit(@ModelAttribute("pet") Pet pet, BindingResult result, SessionStatus status) { new PetValidator().validate(pet, result); if (result.hasErrors()) { - return "petForm"; + return "pets/form"; } else { this.clinic.storePet(pet); status.setComplete(); - return "redirect:/clinic/owners/" + pet.getOwner().getId(); + return "redirect:/owners/" + pet.getOwner().getId(); } } diff --git a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/AddVisitForm.java b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/AddVisitForm.java index 1a2936ef825..0c0179facbc 100644 --- a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/AddVisitForm.java +++ b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/AddVisitForm.java @@ -48,19 +48,19 @@ public class AddVisitForm { Visit visit = new Visit(); pet.addVisit(visit); model.addAttribute("visit", visit); - return "visitForm"; + return "pets/visitForm"; } @RequestMapping(method = RequestMethod.POST) public String processSubmit(@ModelAttribute("visit") Visit visit, BindingResult result, SessionStatus status) { new VisitValidator().validate(visit, result); if (result.hasErrors()) { - return "visitForm"; + return "pets/visitForm"; } else { this.clinic.storeVisit(visit); status.setComplete(); - return "redirect:/clinic/owners/" + visit.getPet().getOwner().getId(); + return "redirect:/owners/" + visit.getPet().getOwner().getId(); } } diff --git a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/ClinicController.java b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/ClinicController.java index c11853091b2..667fb7e217e 100644 --- a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/ClinicController.java +++ b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/ClinicController.java @@ -5,6 +5,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.samples.petclinic.Clinic; import org.springframework.samples.petclinic.Vets; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -38,8 +39,9 @@ public class ClinicController { * determine the logical view name based on the request URL: "/welcome.do" * -> "welcome". */ - @RequestMapping("/welcome") - public void welcomeHandler() { + @RequestMapping("/") + public String welcomeHandler() { + return "welcome"; } /** @@ -53,10 +55,11 @@ public class ClinicController { * @return a ModelMap with the model attributes for the view */ @RequestMapping("/vets") - public ModelMap vetsHandler() { + public String vetsHandler(Model model) { Vets vets = new Vets(); vets.getVetList().addAll(this.clinic.getVets()); - return new ModelMap(vets); + model.addAttribute(vets); + return "vets/list"; } /** @@ -67,7 +70,7 @@ public class ClinicController { */ @RequestMapping("/owners/{ownerId}") public ModelAndView ownerHandler(@PathVariable("ownerId") int ownerId) { - ModelAndView mav = new ModelAndView("owner"); + ModelAndView mav = new ModelAndView("owners/show"); mav.addObject(this.clinic.loadOwner(ownerId)); return mav; } diff --git a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/EditOwnerForm.java b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/EditOwnerForm.java index 065eef8cb51..589ef2d8ba2 100644 --- a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/EditOwnerForm.java +++ b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/EditOwnerForm.java @@ -44,19 +44,19 @@ public class EditOwnerForm { public String setupForm(@PathVariable("ownerId") int ownerId, Model model) { Owner owner = this.clinic.loadOwner(ownerId); model.addAttribute(owner); - return "ownerForm"; + return "owners/form"; } - @RequestMapping(method = RequestMethod.POST) + @RequestMapping(method = RequestMethod.PUT) public String processSubmit(@ModelAttribute Owner owner, BindingResult result, SessionStatus status) { new OwnerValidator().validate(owner, result); if (result.hasErrors()) { - return "ownerForm"; + return "owners/form"; } else { this.clinic.storeOwner(owner); status.setComplete(); - return "redirect:/clinic/owners/" + owner.getId(); + return "redirect:/owners/" + owner.getId(); } } diff --git a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/EditPetForm.java b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/EditPetForm.java index 395551f74ad..bf9f96a9fe9 100644 --- a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/EditPetForm.java +++ b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/EditPetForm.java @@ -27,7 +27,7 @@ import org.springframework.web.bind.WebDataBinder; * @author Arjen Poutsma */ @Controller -@RequestMapping("/owners/*/pets/{petId}") +@RequestMapping("/owners/*/pets/{petId}/edit") @SessionAttributes("pet") public class EditPetForm { @@ -52,19 +52,19 @@ public class EditPetForm { public String setupForm(@PathVariable("petId") int petId, Model model) { Pet pet = this.clinic.loadPet(petId); model.addAttribute("pet", pet); - return "petForm"; + return "pets/form"; } - @RequestMapping(method = RequestMethod.POST) + @RequestMapping(method = {RequestMethod.PUT, RequestMethod.POST}) public String processSubmit(@ModelAttribute("pet") Pet pet, BindingResult result, SessionStatus status) { new PetValidator().validate(pet, result); if (result.hasErrors()) { - return "petForm"; + return "pets/form"; } else { this.clinic.storePet(pet); status.setComplete(); - return "redirect:/clinic/owners/" + pet.getOwner().getId(); + return "redirect:/owners/" + pet.getOwner().getId(); } } @@ -72,7 +72,7 @@ public class EditPetForm { public String deletePet(@PathVariable int petId) { Pet pet = this.clinic.loadPet(petId); this.clinic.deletePet(petId); - return "redirect:/clinic/owners/" + pet.getOwner().getId(); + return "redirect:/owners/" + pet.getOwner().getId(); } } diff --git a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/FindOwnersForm.java b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/FindOwnersForm.java index c24ffbdd2bc..7ffe421fc91 100644 --- a/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/FindOwnersForm.java +++ b/org.springframework.samples.petclinic/src/main/java/org/springframework/samples/petclinic/web/FindOwnersForm.java @@ -36,30 +36,36 @@ public class FindOwnersForm { dataBinder.setDisallowedFields(new String[] {"id"}); } - @RequestMapping(value = "/owners/form", method = RequestMethod.GET) + @RequestMapping(value = "/owners/search", method = RequestMethod.GET) public String setupForm(Model model) { model.addAttribute("owner", new Owner()); - return "findOwners"; + return "owners/search"; } @RequestMapping(value = "/owners", method = RequestMethod.GET) public String processSubmit(Owner owner, BindingResult result, Model model) { + + // allow parameterless GET request for /owners to return all records + if(owner.getLastName() == null) { + owner.setLastName(""); // empty string signifies broadest possible search + } + // find owners by last name Collection results = this.clinic.findOwners(owner.getLastName()); if (results.size() < 1) { // no owners found result.rejectValue("lastName", "notFound", "not found"); - return "findOwners"; + return "owners/search"; } if (results.size() > 1) { // multiple owners found model.addAttribute("selections", results); - return "owners"; + return "owners/list"; } else { // 1 owner found owner = results.iterator().next(); - return "redirect:/clinic/owners/" + owner.getId(); + return "redirect:/owners/" + owner.getId(); } } diff --git a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/dataAccessFailure.jsp b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/dataAccessFailure.jsp index acf9688eb13..e4770371086 100644 --- a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/dataAccessFailure.jsp +++ b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/dataAccessFailure.jsp @@ -14,6 +14,6 @@ ex.printStackTrace(new java.io.PrintWriter(out));


-">Home +">Home <%@ include file="/WEB-INF/jsp/footer.jsp" %> diff --git a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/footer.jsp b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/footer.jsp index 13d07aab981..4bcf5a4f976 100644 --- a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/footer.jsp +++ b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/footer.jsp @@ -1,7 +1,7 @@ - + diff --git a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/ownerForm.jsp b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners/form.jsp similarity index 87% rename from org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/ownerForm.jsp rename to org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners/form.jsp index 5cf1104696a..1670a7c1bf5 100644 --- a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/ownerForm.jsp +++ b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners/form.jsp @@ -1,9 +1,12 @@ <%@ include file="/WEB-INF/jsp/includes.jsp" %> <%@ include file="/WEB-INF/jsp/header.jsp" %> + + + +

New Owner:

- - +
diff --git a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners.jsp b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners/list.jsp similarity index 98% rename from org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners.jsp rename to org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners/list.jsp index 9c1ced1d5ac..44fc3cac0b8 100644 --- a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners.jsp +++ b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners/list.jsp @@ -4,7 +4,6 @@

Owners:

- @@ -12,7 +11,6 @@ -
Name AddressTelephone Pets
diff --git a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/findOwners.jsp b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners/search.jsp similarity index 81% rename from org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/findOwners.jsp rename to org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners/search.jsp index 4931771b3bc..2f0d94d2adf 100644 --- a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/findOwners.jsp +++ b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners/search.jsp @@ -3,7 +3,7 @@

Find Owners:

- + @@ -20,6 +20,6 @@
-Add Owner +Add Owner <%@ include file="/WEB-INF/jsp/footer.jsp" %> diff --git a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owner.jsp b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners/show.jsp similarity index 97% rename from org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owner.jsp rename to org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners/show.jsp index 47bf6273cfc..9f878979501 100644 --- a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owner.jsp +++ b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/owners/show.jsp @@ -78,7 +78,7 @@
- + diff --git a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/petForm.jsp b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/pets/form.jsp similarity index 86% rename from org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/petForm.jsp rename to org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/pets/form.jsp index 50211f10fef..459ec63b35d 100644 --- a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/petForm.jsp +++ b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/pets/form.jsp @@ -1,12 +1,15 @@ <%@ include file="/WEB-INF/jsp/includes.jsp" %> <%@ include file="/WEB-INF/jsp/header.jsp" %> + + + +

New Pet

Owner: ${pet.owner.firstName} ${pet.owner.lastName}
- - +
diff --git a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/visitForm.jsp b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/pets/visitForm.jsp similarity index 100% rename from org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/visitForm.jsp rename to org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/pets/visitForm.jsp diff --git a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/vets.jsp b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/vets/list.jsp similarity index 87% rename from org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/vets.jsp rename to org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/vets/list.jsp index ae8af438198..f2f9e6f5b91 100644 --- a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/vets.jsp +++ b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/vets/list.jsp @@ -23,7 +23,7 @@
- ">View as XML + ">View as XML
diff --git a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/welcome.jsp b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/welcome.jsp index 9ddbd6c1d5c..8f54706fa7d 100644 --- a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/welcome.jsp +++ b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/jsp/welcome.jsp @@ -5,8 +5,8 @@

diff --git a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/petclinic-servlet.xml b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/petclinic-servlet.xml index 4d4828d9a94..cb5d19b1e79 100644 --- a/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/petclinic-servlet.xml +++ b/org.springframework.samples.petclinic/src/main/webapp/WEB-INF/petclinic-servlet.xml @@ -24,7 +24,7 @@ - DefaultAnnotationHandlerMapping is driven by these annotations and is - enabled by default with Java 5+. --> - + + + default + *.png + + + default + *.gif + + + default + *.css + + + default + *.html + petclinic - /clinic/* + / @@ -127,11 +150,6 @@ 10 - - - index.jsp - - java.lang.Exception @@ -149,5 +167,7 @@ Container --> + + diff --git a/org.springframework.samples.petclinic/src/main/webapp/index.jsp b/org.springframework.samples.petclinic/src/main/webapp/index.jsp deleted file mode 100644 index d8a29c31001..00000000000 --- a/org.springframework.samples.petclinic/src/main/webapp/index.jsp +++ /dev/null @@ -1,5 +0,0 @@ -<%@ include file="/WEB-INF/jsp/includes.jsp" %> - -<%-- Redirected because we can't set the welcome page to a virtual URL. --%> - -