diff --git a/spring-web-modules/pom.xml b/spring-web-modules/pom.xml
index 96aeb514a0..b84ea5a13a 100644
--- a/spring-web-modules/pom.xml
+++ b/spring-web-modules/pom.xml
@@ -30,6 +30,7 @@
spring-mvc-views
spring-mvc-webflow
spring-mvc-xml
+ spring-mvc-xml-2
spring-rest-angular
spring-rest-http
spring-rest-http-2
@@ -47,4 +48,4 @@
spring-web-url
-
\ No newline at end of file
+
diff --git a/spring-web-modules/spring-mvc-xml-2/.gitignore b/spring-web-modules/spring-mvc-xml-2/.gitignore
new file mode 100644
index 0000000000..83c05e60c8
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/.gitignore
@@ -0,0 +1,13 @@
+*.class
+
+#folders#
+/target
+/neoDb*
+/data
+/src/main/webapp/WEB-INF/classes
+*/META-INF/*
+
+# Packaged files #
+*.jar
+*.war
+*.ear
\ No newline at end of file
diff --git a/spring-web-modules/spring-mvc-xml-2/README.md b/spring-web-modules/spring-mvc-xml-2/README.md
new file mode 100644
index 0000000000..05a6172fa1
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/README.md
@@ -0,0 +1,14 @@
+## Spring MVC XML
+
+This module contains articles about Spring MVC with XML configuration
+
+### The Course
+
+The "REST With Spring" Classes: http://bit.ly/restwithspring
+
+### Relevant Articles:
+
+- [Exploring SpringMVC’s Form Tag Library](https://www.baeldung.com/spring-mvc-form-tags)
+- [Validating RequestParams and PathVariables in Spring](https://www.baeldung.com/spring-validate-requestparam-pathvariable)
+- [Debugging the Spring MVC 404 “No mapping found for HTTP request” Error](https://www.baeldung.com/spring-mvc-404-error)
+- More articles: [[<-- prev]](../spring-mvc-xml)
diff --git a/spring-web-modules/spring-mvc-xml-2/pom.xml b/spring-web-modules/spring-mvc-xml-2/pom.xml
new file mode 100644
index 0000000000..e65259d512
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/pom.xml
@@ -0,0 +1,101 @@
+
+
+ 4.0.0
+ spring-mvc-xml-2
+ 0.1-SNAPSHOT
+ spring-mvc-xml-2
+ war
+
+
+ com.baeldung
+ spring-web-modules
+ 0.0.1-SNAPSHOT
+
+
+
+
+
+ org.springframework
+ spring-web
+ ${org.springframework.version}
+
+
+ org.springframework
+ spring-webmvc
+ ${org.springframework.version}
+
+
+
+ javax.servlet
+ javax.servlet-api
+ ${javax.servlet-api.version}
+ provided
+
+
+ javax.servlet
+ jstl
+ ${jstl.version}
+ runtime
+
+
+ org.hibernate.validator
+ hibernate-validator
+ ${hibernate-validator.version}
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+
+
+ org.glassfish
+ javax.el
+ ${javax.el.version}
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ ${spring-boot.version}
+ test
+
+
+
+
+ spring-mvc-xml
+
+
+ src/main/resources
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven-war-plugin.version}
+
+
+
+
+
+ 5.0.2.RELEASE
+ 1.5.10.RELEASE
+ 5.1.40
+ 4.4.5
+ 4.5.2
+ 6.0.10.Final
+ 3.0.1-b08
+ 19.0
+ 1.6.1
+
+
+
diff --git a/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/ClientWebConfig.java b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/ClientWebConfig.java
new file mode 100644
index 0000000000..a464717f5d
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/ClientWebConfig.java
@@ -0,0 +1,17 @@
+package com.baeldung.spring;
+
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.ImportResource;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@ImportResource("classpath:webMvcConfig.xml")
+@Configuration
+@ComponentScan
+public class ClientWebConfig implements WebMvcConfigurer {
+
+ public ClientWebConfig() {
+ super();
+ }
+
+}
\ No newline at end of file
diff --git a/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/ClientWebConfigJava.java b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/ClientWebConfigJava.java
similarity index 96%
rename from spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/ClientWebConfigJava.java
rename to spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/ClientWebConfigJava.java
index 09c34ccc80..dc8db43e41 100644
--- a/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/ClientWebConfigJava.java
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/ClientWebConfigJava.java
@@ -6,6 +6,7 @@ import java.util.ResourceBundle;
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.MessageSourceResourceBundle;
import org.springframework.context.support.ResourceBundleMessageSource;
import org.springframework.validation.beanvalidation.MethodValidationPostProcessor;
@@ -54,7 +55,7 @@ public class ClientWebConfigJava implements WebMvcConfigurer {
return bean;
}
-
+
@Bean
public MethodValidationPostProcessor methodValidationPostProcessor() {
return new MethodValidationPostProcessor();
diff --git a/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ConstraintViolationExceptionHandler.java b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/controller/ConstraintViolationExceptionHandler.java
similarity index 100%
rename from spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ConstraintViolationExceptionHandler.java
rename to spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/controller/ConstraintViolationExceptionHandler.java
diff --git a/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/nomapping/GreetingController.java b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/nomapping/GreetingController.java
new file mode 100644
index 0000000000..5016113d30
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/nomapping/GreetingController.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.nomapping;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+@Controller
+public class GreetingController {
+
+ @RequestMapping(value = "/greeting", method = RequestMethod.GET)
+ public String get(ModelMap model) {
+ model.addAttribute("message", "Hello, World!");
+ return "greeting";
+ }
+}
\ No newline at end of file
diff --git a/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/RequestAndPathVariableValidationController.java b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/paramsvalidation/RequestAndPathVariableValidationController.java
similarity index 79%
rename from spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/RequestAndPathVariableValidationController.java
rename to spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/paramsvalidation/RequestAndPathVariableValidationController.java
index b77598c113..4768237871 100644
--- a/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/RequestAndPathVariableValidationController.java
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/paramsvalidation/RequestAndPathVariableValidationController.java
@@ -1,12 +1,17 @@
-package com.baeldung.spring.controller;
+package com.baeldung.spring.paramsvalidation;
-import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.validation.annotation.Validated;
-import javax.validation.constraints.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
@Controller
@RequestMapping("/public/api/1")
diff --git a/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/form/Person.java b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/taglibrary/Person.java
similarity index 98%
rename from spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/form/Person.java
rename to spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/taglibrary/Person.java
index 307a36b10f..ed2fa903ef 100644
--- a/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/form/Person.java
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/taglibrary/Person.java
@@ -1,4 +1,4 @@
-package com.baeldung.spring.form;
+package com.baeldung.spring.taglibrary;
import java.util.List;
diff --git a/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/PersonController.java b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/taglibrary/PersonController.java
similarity index 95%
rename from spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/PersonController.java
rename to spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/taglibrary/PersonController.java
index 71d9ad7845..0fcb66f2dd 100644
--- a/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/PersonController.java
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/taglibrary/PersonController.java
@@ -1,14 +1,5 @@
-package com.baeldung.spring.controller;
+package com.baeldung.spring.taglibrary;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.validation.Valid;
-
-import com.baeldung.spring.form.Person;
-import com.baeldung.spring.validator.PersonValidator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -19,6 +10,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
+import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
@Controller
public class PersonController {
diff --git a/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/validator/PersonValidator.java b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/taglibrary/PersonValidator.java
similarity index 87%
rename from spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/validator/PersonValidator.java
rename to spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/taglibrary/PersonValidator.java
index cda756cdfc..9f437429ae 100644
--- a/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/validator/PersonValidator.java
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/java/com/baeldung/spring/taglibrary/PersonValidator.java
@@ -1,6 +1,5 @@
-package com.baeldung.spring.validator;
+package com.baeldung.spring.taglibrary;
-import com.baeldung.spring.form.Person;
import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
diff --git a/spring-web-modules/spring-mvc-xml-2/src/main/resources/logback.xml b/spring-web-modules/spring-mvc-xml-2/src/main/resources/logback.xml
new file mode 100644
index 0000000000..56af2d397e
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/resources/logback.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-web-modules/spring-mvc-xml-2/src/main/resources/messages.properties b/spring-web-modules/spring-mvc-xml-2/src/main/resources/messages.properties
new file mode 100644
index 0000000000..a58f51db3e
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/resources/messages.properties
@@ -0,0 +1,3 @@
+required.name = Name is required!
+NotEmpty.person.password = Password is required!
+
diff --git a/spring-web-modules/spring-mvc-xml-2/src/main/resources/webMvcConfig.xml b/spring-web-modules/spring-mvc-xml-2/src/main/resources/webMvcConfig.xml
new file mode 100644
index 0000000000..5dcdef6ad4
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/resources/webMvcConfig.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+ image/jpeg
+ image/png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/mvc-servlet.xml b/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/mvc-servlet.xml
new file mode 100644
index 0000000000..e27665da95
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/mvc-servlet.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
diff --git a/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/view/greeting.jsp b/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/view/greeting.jsp
new file mode 100644
index 0000000000..ac17c75ab7
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/view/greeting.jsp
@@ -0,0 +1,9 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+
+
+ Greeting
+
+
+ ${message}
+
+
\ No newline at end of file
diff --git a/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/personForm.jsp b/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/view/personForm.jsp
similarity index 100%
rename from spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/personForm.jsp
rename to spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/view/personForm.jsp
diff --git a/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/personView.jsp b/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/view/personView.jsp
similarity index 100%
rename from spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/personView.jsp
rename to spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/view/personView.jsp
diff --git a/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/view/sample.jsp b/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/view/sample.jsp
new file mode 100644
index 0000000000..7cc14b5dcd
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/view/sample.jsp
@@ -0,0 +1,7 @@
+
+
+
+
+ This is the body of the sample view
+
+
\ No newline at end of file
diff --git a/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/web.xml b/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..e704d2eba3
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,47 @@
+
+
+ Spring MVC XML Application
+
+
+
+ contextClass
+
+ org.springframework.web.context.support.AnnotationConfigWebApplicationContext
+
+
+
+ contextConfigLocation
+ com.baeldung.spring
+
+
+
+ org.springframework.web.context.ContextLoaderListener
+
+
+
+
+ mvc
+ org.springframework.web.servlet.DispatcherServlet
+ 1
+
+
+ mvc
+ /
+
+
+
+
+ 10
+
+
+ index.jsp
+
+
+
+ /errors
+
+
diff --git a/spring-web-modules/spring-mvc-xml-2/src/main/webapp/index.jsp b/spring-web-modules/spring-mvc-xml-2/src/main/webapp/index.jsp
new file mode 100644
index 0000000000..14872cf3ba
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/src/main/webapp/index.jsp
@@ -0,0 +1,15 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+
+
+
+
+Spring MVC Examples
+
+
+
+ Spring MVC Examples
+
+
+
\ No newline at end of file
diff --git a/spring-web-modules/spring-mvc-xml-2/src/test/java/com/baeldung/SpringContextTest.java b/spring-web-modules/spring-mvc-xml-2/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..62e34859ee
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml-2/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,19 @@
+package com.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.web.WebAppConfiguration;
+
+import com.baeldung.spring.ClientWebConfig;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = ClientWebConfig.class)
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-web-modules/spring-mvc-xml/src/test/java/com/baeldung/spring/controller/RequestAndPathVariableValidationControllerIntegrationTest.java b/spring-web-modules/spring-mvc-xml-2/src/test/java/com/baeldung/spring/paramsvalidation/RequestAndPathVariableValidationControllerIntegrationTest.java
similarity index 90%
rename from spring-web-modules/spring-mvc-xml/src/test/java/com/baeldung/spring/controller/RequestAndPathVariableValidationControllerIntegrationTest.java
rename to spring-web-modules/spring-mvc-xml-2/src/test/java/com/baeldung/spring/paramsvalidation/RequestAndPathVariableValidationControllerIntegrationTest.java
index c4332dd879..a71a024e62 100644
--- a/spring-web-modules/spring-mvc-xml/src/test/java/com/baeldung/spring/controller/RequestAndPathVariableValidationControllerIntegrationTest.java
+++ b/spring-web-modules/spring-mvc-xml-2/src/test/java/com/baeldung/spring/paramsvalidation/RequestAndPathVariableValidationControllerIntegrationTest.java
@@ -1,5 +1,6 @@
-package com.baeldung.spring.controller;
+package com.baeldung.spring.paramsvalidation;
+import com.baeldung.spring.ClientWebConfigJava;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -11,9 +12,6 @@ import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
-import com.baeldung.spring.ClientWebConfig;
-import com.baeldung.spring.ClientWebConfigJava;
-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@@ -35,13 +33,13 @@ public class RequestAndPathVariableValidationControllerIntegrationTest {
@Test
public void getNameOfDayByNumberRequestParam_whenGetWithProperRequestParam_thenReturn200() throws Exception {
mockMvc.perform(get("/public/api/1/name-for-day").param("dayOfWeek", Integer.toString(5)))
- .andExpect(status().isOk());
+ .andExpect(status().isOk());
}
@Test
public void getNameOfDayByNumberRequestParam_whenGetWithRequestParamOutOfRange_thenReturn400() throws Exception {
mockMvc.perform(get("/public/api/1/name-for-day").param("dayOfWeek", Integer.toString(15)))
- .andExpect(status().isBadRequest());
+ .andExpect(status().isBadRequest());
}
@Test
@@ -52,7 +50,7 @@ public class RequestAndPathVariableValidationControllerIntegrationTest {
@Test
public void getNameOfDayByPathVariable_whenGetWithRequestParamOutOfRange_thenReturn400() throws Exception {
mockMvc.perform(get("/public/api/1/name-for-day/{dayOfWeek}", Integer.toString(15)))
- .andExpect(status().isBadRequest());
+ .andExpect(status().isBadRequest());
}
@Test
@@ -63,7 +61,7 @@ public class RequestAndPathVariableValidationControllerIntegrationTest {
@Test
public void validStringRequestParam_whenGetWithTooLongRequestParam_thenReturn400() throws Exception {
mockMvc.perform(get("/public/api/1/valid-name").param("name", "asdfghjklqw"))
- .andExpect(status().isBadRequest());
+ .andExpect(status().isBadRequest());
}
@Test
diff --git a/spring-web-modules/spring-mvc-xml/README.md b/spring-web-modules/spring-mvc-xml/README.md
index 3fbea3626b..3260d91d94 100644
--- a/spring-web-modules/spring-mvc-xml/README.md
+++ b/spring-web-modules/spring-mvc-xml/README.md
@@ -12,12 +12,10 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring
- [Returning Image/Media Data with Spring MVC](https://www.baeldung.com/spring-mvc-image-media-data)
- [Geolocation by IP in Java](https://www.baeldung.com/geolocation-by-ip-with-maxmind)
- [Guide to JavaServer Pages (JSP)](https://www.baeldung.com/jsp)
-- [Exploring SpringMVC’s Form Tag Library](https://www.baeldung.com/spring-mvc-form-tags)
- [web.xml vs Initializer with Spring](https://www.baeldung.com/spring-xml-vs-java-config)
- [A Java Web Application Without a web.xml](https://www.baeldung.com/java-web-app-without-web-xml)
-- [Validating RequestParams and PathVariables in Spring](https://www.baeldung.com/spring-validate-requestparam-pathvariable)
-- [Debugging the Spring MVC 404 “No mapping found for HTTP request” Error](https://www.baeldung.com/spring-mvc-404-error)
- [Introduction to Servlets and Servlet Containers](https://www.baeldung.com/java-servlets-containers-intro)
+- More articles: [[more -->]](../spring-mvc-xml-2)
## Spring MVC with XML Configuration Example Project
diff --git a/spring-web-modules/spring-mvc-xml/pom.xml b/spring-web-modules/spring-mvc-xml/pom.xml
index e67052e0cd..c814787ba7 100644
--- a/spring-web-modules/spring-mvc-xml/pom.xml
+++ b/spring-web-modules/spring-mvc-xml/pom.xml
@@ -39,11 +39,6 @@
${jstl.version}
runtime
-
- org.hibernate.validator
- hibernate-validator
- ${hibernate-validator.version}
-
com.fasterxml.jackson.core