CINXE.COM
Spring: Spring MVC Online Class | LinkedIn Learning, formerly Lynda.com
<!DOCTYPE html> <html lang="en"> <head> <meta name="pageKey" content="d_learning_course_guest"> <!----><!----> <meta name="locale" content="en_US"> <meta id="config" data-app-version="2.0.2217" data-call-tree-id="AAYn4Ifo6KUmJlyO2MW1eQ==" data-multiproduct-name="learning-guest-frontend" data-service-name="learning-guest-frontend" data-browser-id="466e7b69-7b09-4870-8279-ce9cdbfd79df" data-enable-page-view-heartbeat-tracking data-page-instance="urn:li:page:learning_course_guest;u90v3X+wSAWsp3Cc9DLiOg==" data-disable-jsbeacon-pagekey-suffix="false" data-member-id="0"> <link rel="canonical" href="https://www.linkedin.com/learning/spring-spring-mvc-2"> <!----><!----> <!----> <!----> <!----> <link rel="manifest" href="/homepage-guest/manifest.json" crossorigin="use-credentials"> <!----> <script> function getDfd() {let yFn,nFn;const p=new Promise(function(y, n){yFn=y;nFn=n;});p.resolve=yFn;p.reject=nFn;return p;} window.lazyloader = getDfd(); window.tracking = getDfd(); window.impressionTracking = getDfd(); window.ingraphTracking = getDfd(); window.appDetection = getDfd(); window.pemTracking = getDfd(); </script> <!----> <link rel="icon" href="https://static.licdn.com/aero-v1/sc/h/444zstxv7s91nepfm5et6ofge"> <title>Spring: Spring MVC Online Class | LinkedIn Learning, formerly Lynda.com</title> <meta name="robots" content="noarchive, max-image-preview:large"> <meta name="description" content="Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects."> <meta property="og:site_name" content="LinkedIn"> <meta name="twitter:site" content="@LI_Learning"> <meta name="twitter:card" content="summary"> <meta name="litmsProfileName" content="learning-guest-frontend"> <meta property="og:title" content="Spring: Spring MVC Online Class | LinkedIn Learning, formerly Lynda.com"> <meta name="twitter:title" content="Spring: Spring MVC Online Class | LinkedIn Learning, formerly Lynda.com"> <meta property="og:description" content="Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects."> <meta name="twitter:description" content="Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects."> <meta property="og:image" content="https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I"> <meta name="twitter:image" content="https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I"> <!----> <meta property="og:url" content="https://www.linkedin.com/learning/spring-spring-mvc-2"> <meta property="og:type" content="website"> <meta name="clientSideIngraphs" content="1" data-gauge-metric-endpoint="/learning-guest/api/ingraphs/gauge" data-counter-metric-endpoint="/learning-guest/api/ingraphs/counter"> <link rel="stylesheet" href="https://static.licdn.com/aero-v1/sc/h/ccepec31u8riooiwchbtig8m0"> <script type="application/ld+json"> {"@context":"http://schema.org/","@type":"Course","provider":{"@type":"Organization","name":"LinkedIn Learning","url":"https://www.linkedin.com/learning/"},"publisher":{"@type":"Organization","name":"LinkedIn Learning","url":"https://www.linkedin.com/learning/"},"hasCourseInstance":{"@type":"CourseInstance","courseMode":"online","courseWorkload":"PT5H30M22S","instructor":[{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"}]},"inLanguage":"en","name":"Spring: Spring MVC","offers":[{"@type":"Offer","category":"Subscription"},{"@type":"Offer","category":"Paid","price":"349.99","priceCurrency":"HKD"}],"description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","image":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","creator":[{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"}],"author":[{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"}],"dateCreated":"2019-11-07","datePublished":"2019-11-07","thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","timeRequired":"PT5H30M22S","totalHistoricalEnrollment":55731,"url":"https://www.linkedin.com/learning/spring-spring-mvc-2","about":[{"@type":"Thing","url":"https://www.linkedin.com/learning/search?keywords=Spring+MVC","name":"Spring MVC"}],"hasPart":[[{"@type":"VideoObject","name":"Spring MVC for robust applications - Introduction","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT1M4S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":false,"isAccessibleForFree":true,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/spring-mvc-for-robust-applications"},{"@type":"VideoObject","name":"What you should know - Introduction","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M19S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":false,"isAccessibleForFree":true,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/what-you-should-know"},{"@type":"VideoObject","name":"Exercise files and the demo app - Introduction","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT25S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":false,"isAccessibleForFree":true,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/exercise-files-and-the-demo-app"}],[{"@type":"VideoObject","name":"Why use Spring MVC? - 1. Getting Started and Project Setup","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M42S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/why-use-spring-mvc"},{"@type":"VideoObject","name":"Features of Spring MVC - 1. Getting Started and Project Setup","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M40S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/features-of-spring-mvc"},{"@type":"VideoObject","name":"Spring MVC architecture - 1. Getting Started and Project Setup","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT2M7S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/spring-mvc-architecture"},{"@type":"VideoObject","name":"Create Maven Spring MVC project - 1. Getting Started and Project Setup","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M25S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/create-maven-spring-mvc-project"},{"@type":"VideoObject","name":"Add folders and static files - 1. Getting Started and Project Setup","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT2M27S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/add-folders-and-static-files"},{"@type":"VideoObject","name":"Java configuration for Spring MVC - 1. Getting Started and Project Setup","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT10M9S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/java-configuration-for-spring-mvc"},{"@type":"VideoObject","name":"Add controllers and test the application - 1. Getting Started and Project Setup","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT4M59S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/add-controllers-and-test-the-application-2"},{"@type":"VideoObject","name":"Generate Spring MVC project with Spring Boot - 1. Getting Started and Project Setup","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT5M13S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/generate-spring-mvc-project-with-spring-boot"},{"@type":"VideoObject","name":"Add static files and view resolver - 1. Getting Started and Project Setup","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT5M3S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/add-static-files-and-view-resolver"},{"@type":"VideoObject","name":"Add controllers and test the application - 1. Getting Started and Project Setup","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT7M14S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/add-controllers-and-test-the-application"}],[{"@type":"VideoObject","name":"Basic annotations for controllers - 2. Implementing Controller Flows","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT4M20S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/basic-annotations-for-controllers"},{"@type":"VideoObject","name":"Create a controller with request mapping - 2. Implementing Controller Flows","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT4M","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/create-a-controller-with-request-mapping"},{"@type":"VideoObject","name":"@RequestParam in Controller - 2. Implementing Controller Flows","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT5M37S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/requestparam-in-controller"},{"@type":"VideoObject","name":"Add database code - 2. Implementing Controller Flows","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M7S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/add-database-code"},{"@type":"VideoObject","name":"Access data from Model - 2. Implementing Controller Flows","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT8M15S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/access-data-from-model"},{"@type":"VideoObject","name":"@ModelAttribute: Add JSP pages - 2. Implementing Controller Flows","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT4M55S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/modelattribute-add-jsp-pages"},{"@type":"VideoObject","name":"@ModelAttribute: Access model attributes on JSP - 2. Implementing Controller Flows","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT6M7S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/modelattribute-access-model-attributes-on-jsp"},{"@type":"VideoObject","name":"@ModelAttribute: Add Spring form tag library - 2. Implementing Controller Flows","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT5M15S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/modelattribute-add-spring-form-tag-library"},{"@type":"VideoObject","name":"Test the application - 2. Implementing Controller Flows","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT6M37S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/test-the-application"}],[{"@type":"VideoObject","name":"Validating data in models - 3. Data Validation and Binding","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT2M26S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/validating-data-in-models"},{"@type":"VideoObject","name":"Add validations to user bean - 3. Data Validation and Binding","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT6M56S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/add-validations-to-user-bean"},{"@type":"VideoObject","name":"Spring tags for errors - 3. Data Validation and Binding","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M45S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/spring-tags-for-errors"},{"@type":"VideoObject","name":"Localizing error messages - 3. Data Validation and Binding","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M58S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/localizing-error-messages"},{"@type":"VideoObject","name":"Binders overview - 3. Data Validation and Binding","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT2M1S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/binders-overview"},{"@type":"VideoObject","name":"Binders demo - 3. Data Validation and Binding","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT6M43S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/binders-demo"},{"@type":"VideoObject","name":"Convertors overview - 3. Data Validation and Binding","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT1M43S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/convertors-overview"},{"@type":"VideoObject","name":"Convertors demo - 3. Data Validation and Binding","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT7M40S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/convertors-demo"}],[{"@type":"VideoObject","name":"DispatcherServlet and special bean types - 4. Exception Handling","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M12S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/dispatcherservlet-and-special-bean-types"},{"@type":"VideoObject","name":"Exception flow handler implementations - 4. Exception Handling","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT4M33S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/exception-flow-handler-implementations"},{"@type":"VideoObject","name":"Custom error page and Login controller - 4. Exception Handling","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT4M1S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/custom-error-page-and-login-controller"},{"@type":"VideoObject","name":"Add method for selecting a user - 4. Exception Handling","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT5M51S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/add-method-for-selecting-a-user"},{"@type":"VideoObject","name":"Add exception handler in Controller - 4. Exception Handling","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT6M28S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/add-exception-handler-in-controller"},{"@type":"VideoObject","name":"Global exception handler for application - 4. Exception Handling","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT4M52S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/global-exception-handler-for-application"},{"@type":"VideoObject","name":"Default model attributes using @ControllerAdvice - 4. Exception Handling","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT4M27S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/default-model-attributes-using-controlleradvice"}],[{"@type":"VideoObject","name":"Conventional HTTP request processing - 5. Async Request Processing","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT2M19S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/conventional-http-request-processing"},{"@type":"VideoObject","name":"Spring MVC async processing under the hood - 5. Async Request Processing","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M6S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/spring-mvc-async-processing-under-the-hood"},{"@type":"VideoObject","name":"Async configuration - 5. Async Request Processing","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT5M13S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/async-configuration"},{"@type":"VideoObject","name":"Return callable in Controller - 5. Async Request Processing","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT6M13S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/return-callable-in-controller"},{"@type":"VideoObject","name":"DeferredResult implementation for async - 5. Async Request Processing","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT8M27S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/deferredresult-implementation-for-async"}],[{"@type":"VideoObject","name":"What are view resolvers? - 6. View Resolvers","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M41S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/what-are-view-resolvers"},{"@type":"VideoObject","name":"Using XmlViewResolver - 6. View Resolvers","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT7M54S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/using-xmlviewresolver"},{"@type":"VideoObject","name":"Using ResourceBundleViewResolver - 6. View Resolvers","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT4M24S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/using-resourcebundleviewresolver"},{"@type":"VideoObject","name":"Chaining view resolvers - 6. View Resolvers","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT1M52S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/chaining-view-resolvers"},{"@type":"VideoObject","name":"Chaining view resolvers demo - 6. View Resolvers","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT4M39S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/chaining-view-resolvers-demo"}],[{"@type":"VideoObject","name":"Introduction to interceptors - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M28S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/introduction-to-interceptors"},{"@type":"VideoObject","name":"Built-in and custom interceptors - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT2M45S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/built-in-and-custom-interceptors"},{"@type":"VideoObject","name":"Add interceptor class - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT5M45S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/add-interceptor-class"},{"@type":"VideoObject","name":"Register interceptors - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M17S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/register-interceptors"},{"@type":"VideoObject","name":"Request and session attributes - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT1M57S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/request-and-session-attributes"},{"@type":"VideoObject","name":"Save and get SessionAttributes demo - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT6M47S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/save-and-get-sessionattributes-demo"},{"@type":"VideoObject","name":"Test session flow and implement forwarding - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT7M37S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/test-session-flow-and-implement-forwarding"},{"@type":"VideoObject","name":"End HttpSession - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT8M33S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/end-httpsession"},{"@type":"VideoObject","name":"Redirecting outside an application - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M40S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/redirecting-outside-an-application"},{"@type":"VideoObject","name":"Introduction to themes - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT1M48S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/introduction-to-themes"},{"@type":"VideoObject","name":"Define themes and theme resolver - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT4M18S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/define-themes-and-theme-resolver"},{"@type":"VideoObject","name":"Define ThemeChangeInterceptor - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT6M38S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/define-themechangeinterceptor"},{"@type":"VideoObject","name":"Pick themes on JSPs - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT2M37S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/pick-themes-on-jsps"},{"@type":"VideoObject","name":"Introduction to l10n and i18n - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/introduction-to-l10n-and-i18n"},{"@type":"VideoObject","name":"Automatic locale resolution demo - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT9M55S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/automatic-locale-resolution-demo"},{"@type":"VideoObject","name":"CookieLocaleResolver and interceptor for l10n and i18n - 7. Interceptors and Themes","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT5M37S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/cookielocaleresolver-and-interceptor-for-l10n-and-i18n"}],[{"@type":"VideoObject","name":"RESTful services recap - 8. Spring MVC REST Controllers","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT5M19S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/restful-services-recap"},{"@type":"VideoObject","name":"Use @Controller and @ResponseBody - 8. Spring MVC REST Controllers","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT5M14S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/use-controller-and-responsebody"},{"@type":"VideoObject","name":"Use @RequestController and @ResponseEntity - 8. Spring MVC REST Controllers","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT4M27S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/use-requestcontroller-and-responseentity"},{"@type":"VideoObject","name":"Use @PathVariable and @RequestParam to get request payload - 8. Spring MVC REST Controllers","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M51S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/use-pathvariable-and-requestparam-to-get-request-payload"},{"@type":"VideoObject","name":"Use @RequestBody and @ResponseEntity - 8. Spring MVC REST Controllers","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT5M18S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/use-requestbody-and-responseentity"},{"@type":"VideoObject","name":"Use @ExceptionHandler - 8. Spring MVC REST Controllers","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT3M27S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/use-exceptionhandler"},{"@type":"VideoObject","name":"Testing the @ExceptionHandler with the @ResponseEntity - 8. Spring MVC REST Controllers","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT5M35S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/testing-the-exceptionhandler-with-the-responseentity"},{"@type":"VideoObject","name":"MVC vs. REST controllers - 8. Spring MVC REST Controllers","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT1M22S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/mvc-vs-rest-controllers"}],[{"@type":"VideoObject","name":"Next steps - Conclusion","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT43S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":true,"isAccessibleForFree":false,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/next-steps"}]],"syllabusSections":[{"@type":"Syllabus","name":"Spring MVC for robust applications","timeRequired":"PT1M4S"},{"@type":"Syllabus","name":"What you should know","timeRequired":"PT3M19S"},{"@type":"Syllabus","name":"Exercise files and the demo app","timeRequired":"PT25S"},{"@type":"Syllabus","name":"Why use Spring MVC?","timeRequired":"PT3M42S","description":"In this video, explore some recommendations in favor of using Spring MVC. This helps you understand the pros and cons of Spring MVC."},{"@type":"Syllabus","name":"Features of Spring MVC","timeRequired":"PT3M40S","description":"Check out the things you can achieve with Spring MVC. This allows you to evaluate the framework according to your application needs."},{"@type":"Syllabus","name":"Spring MVC architecture","timeRequired":"PT2M7S","description":"In this video, learn how to dissect the Spring MVC architecture to look at the moving parts and plugable components. This allows you to get acquainted with the internal components of Spring MVC."},{"@type":"Syllabus","name":"Create Maven Spring MVC project","timeRequired":"PT3M25S","description":"Learn how to create a simple project base to set up Spring MVC dependencies in any application development."},{"@type":"Syllabus","name":"Add folders and static files","timeRequired":"PT2M27S","description":"Learn how to add folders and static files to a simple project base to set up Spring MVC dependencies in any application development."},{"@type":"Syllabus","name":"Java configuration for Spring MVC","timeRequired":"PT10M9S","description":"In this video, learn about Java configuration for a simple project base to set up Spring MVC dependencies in any application development."},{"@type":"Syllabus","name":"Add controllers and test the application","timeRequired":"PT4M59S","description":"In this video, learn how to add controllers and test a simple project base to set up Spring MVC dependencies in any application development."},{"@type":"Syllabus","name":"Generate Spring MVC project with Spring Boot","timeRequired":"PT5M13S","description":"In this video, learn how to create a simple project base to set up the foundation for the remaining demo exercises."},{"@type":"Syllabus","name":"Add static files and view resolver","timeRequired":"PT5M3S","description":"In this video, learn how to add static files and view resolver to a simple project base to set up the foundation for the remaining demo exercises."},{"@type":"Syllabus","name":"Add controllers and test the application","timeRequired":"PT7M14S","description":"In this video, learn how to add controllers and test the simple project base to set up the foundation for the remaining demo exercises."},{"@type":"Syllabus","name":"Basic annotations for controllers","timeRequired":"PT4M20S","description":"In this video, learn about basic annotation so that the successive demos in this course are easy to follow."},{"@type":"Syllabus","name":"Create a controller with request mapping","timeRequired":"PT4M","description":"In this video, learn how to create a basic front-end to back-end flow using Spring MVC. This allows you to create a simple controller that can be progressively improved over time."},{"@type":"Syllabus","name":"@RequestParam in Controller","timeRequired":"PT5M37S","description":"In this video, explore the capture of the request parameters so that they can be processed inside the Controller logic. This allows you to send parameters from the front-end to your Spring MVC controller."},{"@type":"Syllabus","name":"Add database code","timeRequired":"PT3M7S","description":"In this video, explore the process of querying any relational database to get data for app development."},{"@type":"Syllabus","name":"Access data from Model","timeRequired":"PT8M15S","description":"In this video, learn how to access the data from the model for further manipulation or to set defaults. This allows you to have better control over the data model values."},{"@type":"Syllabus","name":"@ModelAttribute: Add JSP pages","timeRequired":"PT4M55S","description":"In this video, learn how to seamlessly populate all form values into a Java Bean object and make it available in the controller."},{"@type":"Syllabus","name":"@ModelAttribute: Access model attributes on JSP","timeRequired":"PT6M7S","description":"In this video, learn how to seamlessly populate all form values into a Java Bean object and make it available in the controller."},{"@type":"Syllabus","name":"@ModelAttribute: Add Spring form tag library","timeRequired":"PT5M15S","description":"In this video, learn how to seamlessly populate all form values into a Java Bean object and make it available in the controller."},{"@type":"Syllabus","name":"Test the application","timeRequired":"PT6M37S","description":"In this video, learn how to build and test the application to see form values populated into a Java Bean object and made available in the controller."},{"@type":"Syllabus","name":"Validating data in models","timeRequired":"PT2M26S","description":"In this video, learn how to begin validating the data sent from a webpage to the controller, and from the controller to the view. This is essential to protect your application from unexpected behavior. This allows you to identify inputs and outputs that need validations and learn where validations need to be done."},{"@type":"Syllabus","name":"Add validations to user bean","timeRequired":"PT6M56S","description":"In this video, learn how to configure validation rules with model definitions, following the JSR303 validation specification, and run validations before the controller is invoked. This allows you to protect your application from unexpected input values and catch errors early on."},{"@type":"Syllabus","name":"Spring tags for errors","timeRequired":"PT3M45S","description":"In this video, learn how to use Spring tags to display error messages in your application. This allows you to protect your application from unexpected input values and catch errors early on."},{"@type":"Syllabus","name":"Localizing error messages","timeRequired":"PT3M58S","description":"In this video, learn how to use Spring tags to display and localize error messages in your application. This allows you to protect your application from unexpected input values and catch errors early on."},{"@type":"Syllabus","name":"Binders overview","timeRequired":"PT2M1S","description":"In this video, learn how to bind request parameters to model objects, convert String-based request values into method arguments, and format model values as Strings for rendering. \nThis allows you to seamlessly convert HTTP-based parameters into controller arguments and vice versa."},{"@type":"Syllabus","name":"Binders demo","timeRequired":"PT6M43S","description":"In this video, learn how to bind request parameters to model objects, convert String-based request values into method arguments, and format model values as strings for rendering. \nThis allows you to seamlessly convert HTTP-based parameters into controller arguments and vice versa."},{"@type":"Syllabus","name":"Convertors overview","timeRequired":"PT1M43S","description":"In this video, learn how to convert request parameters to specific Java data types of beans.\nThis allows you to conveniently decouple conversion logic from the Controller logic processing."},{"@type":"Syllabus","name":"Convertors demo","timeRequired":"PT7M40S","description":"In this video, learn how to convert request parameters to specific Java data types of beans. This allows you to conveniently decouple conversion logic from the Controller logic processing."},{"@type":"Syllabus","name":"DispatcherServlet and special bean types","timeRequired":"PT3M12S","description":"In this video, discover how DispatcherServlet fits into the architecture of Spring MVC and how it works with other standard beans for managing the lifecycle of a request. This enables you to learn how Spring MVC works under the hood so that you can tweak things if needed."},{"@type":"Syllabus","name":"Exception flow handler implementations","timeRequired":"PT4M33S","description":"In this video, learn how to handle exceptions from controller methods. This enables you to learn how the Spring MVC controller can be configured to handle exceptional cases."},{"@type":"Syllabus","name":"Custom error page and Login controller","timeRequired":"PT4M1S","description":"In this video, learn how to implement exception handling in Spring MVC. This enables you to map exceptions to specific views."},{"@type":"Syllabus","name":"Add method for selecting a user","timeRequired":"PT5M51S","description":"In this video, learn how to implement exception handling in Spring MVC. This enables you to implement custom flows for handling exceptional cases."},{"@type":"Syllabus","name":"Add exception handler in Controller","timeRequired":"PT6M28S","description":"In this video, learn how to implement exception handling in Spring MVC. This enables you to implement custom flows for handling exceptional cases."},{"@type":"Syllabus","name":"Global exception handler for application","timeRequired":"PT4M52S","description":"In this video, learn how to implement exception handling in Spring MVC. This enables you to implement custom flows for handling exceptional cases."},{"@type":"Syllabus","name":"Default model attributes using @ControllerAdvice","timeRequired":"PT4M27S","description":"In this video, learn how to implement exception handling in Spring MVC. This enables you to implement custom flows for handling exceptional cases."},{"@type":"Syllabus","name":"Conventional HTTP request processing","timeRequired":"PT2M19S","description":"DeferredResult helps you promise a response which is evaluated at a later point of time, by a different thread, utilizing servlet 3.0 capabilities. In this video, learn how to implement asynchronous flows using DeferredResult, which can free your application from blocking threads."},{"@type":"Syllabus","name":"Spring MVC async processing under the hood","timeRequired":"PT3M6S","description":"In this video, learn how to implement an asynchronous flow using DeferredResult. This allows you to increase the throughput of your application with asynchronous processing. DeferredResult is one handy way of doing this."},{"@type":"Syllabus","name":"Async configuration","timeRequired":"PT5M13S","description":"In this video, learn how to use callables whose result is evaluated as part of a separate non-blocking thread, to implement asynchronous flows. This enables you to improve the throughput of your application using standard Java Callables."},{"@type":"Syllabus","name":"Return callable in Controller","timeRequired":"PT6M13S","description":"In this video, learn how to use callables whose result is evaluated as part of a separate non-blocking thread, to implement asynchronous flows. This enables you to improve the throughput of your application using standard Java Callables."},{"@type":"Syllabus","name":"DeferredResult implementation for async","timeRequired":"PT8M27S","description":"In this video, learn how to use the standard Java Callables to implement asynchronous execution flows in Spring MVC. Using Callables is a standard way to create multithreaded flows in Java. Learn how you can use it in Spring MVC to implement asynchronous flows."},{"@type":"Syllabus","name":"What are view resolvers?","timeRequired":"PT3M41S","description":"In this video, explore how Spring MVC is able to work with standard view technologies with the use of view resolvers. Discover how Spring MVC works with view technologies."},{"@type":"Syllabus","name":"Using XmlViewResolver","timeRequired":"PT7M54S","description":"In this video, explore how Spring MVC is able to work with standard view technologies with the use of view resolvers. Discover how Spring MVC works with view technologies."},{"@type":"Syllabus","name":"Using ResourceBundleViewResolver","timeRequired":"PT4M24S","description":"In this video, explore how Spring MVC is able to work with standard view technologies with the use of view resolvers. Discover how Spring MVC works with view technologies."},{"@type":"Syllabus","name":"Chaining view resolvers","timeRequired":"PT1M52S","description":"Chaining view resolvers is sometimes needed. In this video, discover how this is done and how to handle priorities in chaining resolvers. By doing this, you are able to have multiple view resolvers configured correctly."},{"@type":"Syllabus","name":"Chaining view resolvers demo","timeRequired":"PT4M39S","description":"Chaining view resolvers is sometimes needed. In this video, discover how this is done and how to handle priorities in chaining resolvers. By doing this, you are able to have multiple view resolvers configured correctly."},{"@type":"Syllabus","name":"Introduction to interceptors","timeRequired":"PT3M28S","description":"In this video, learn what interceptors are and how they can be used for any processing before the actual request processing."},{"@type":"Syllabus","name":"Built-in and custom interceptors","timeRequired":"PT2M45S","description":"In this video, learn how to intercept incoming requests before they are handled by the controller. Logging or performing some preprocessing on the request can be done using interceptors."},{"@type":"Syllabus","name":"Add interceptor class","timeRequired":"PT5M45S","description":"In this video, learn how to access any request attributes from Filters or Interceptors. This allows you to use additional request attributes if needed in the business logic."},{"@type":"Syllabus","name":"Register interceptors","timeRequired":"PT3M17S","description":"In this video, explore session management in Spring MVC to store data between multiple requests so that a user's data is preserved for all their requests without having to retrieve individually for every request. This allows you to get a seamless session experience for the user of your application."},{"@type":"Syllabus","name":"Request and session attributes","timeRequired":"PT1M57S","description":"In this video, learn how to transfer an incoming request to an external website or to an internal controller/view. You sometimes need to redirect a user to an external website. You may also need to forward the request to another controller or a view within the same application. Learn how to do it in Spring MVC."},{"@type":"Syllabus","name":"Save and get SessionAttributes demo","timeRequired":"PT6M47S","description":"In this video, learn how to use themes for your Spring MVC web app. Your web application should have a consistent styling and look-and-feel across pages."},{"@type":"Syllabus","name":"Test session flow and implement forwarding","timeRequired":"PT7M37S","description":"Learn how themes are resolved and applied to web pages. In this video, discover how themes are resolved and implement a theme for your application."},{"@type":"Syllabus","name":"End HttpSession","timeRequired":"PT8M33S","description":"In this video, learn how themes are resolved and applied to web pages. See how themes are resolved and implement a theme for your application."},{"@type":"Syllabus","name":"Redirecting outside an application","timeRequired":"PT3M40S","description":"In this video, explore how externalizing labels and error messages and storing them in a central file is done through i18n. This is to make sure that there is no duplication across the application for such data."},{"@type":"Syllabus","name":"Introduction to themes","timeRequired":"PT1M48S","description":"In this video, learn how to customize the look and feel of your application with themes. Discover that themes are a set of static resources, including CSS, images, and more."},{"@type":"Syllabus","name":"Define themes and theme resolver","timeRequired":"PT4M18S","description":"Learn how to customize the look and feel of your application with themes. In this video, discover how to define a theme in Spring MVC."},{"@type":"Syllabus","name":"Define ThemeChangeInterceptor","timeRequired":"PT6M38S","description":"Learn how to customize the look and feel of your application with themes. In this video, discover how to define a theme in Spring MVC."},{"@type":"Syllabus","name":"Pick themes on JSPs","timeRequired":"PT2M37S","description":"Learn how to customize the look and feel of your application with themes. In this video, discover how to define a theme in Spring MVC."},{"@type":"Syllabus","name":"Introduction to l10n and i18n","timeRequired":"PT3M","description":"Learn how to localize and externalize messages and labels for an application in Spring MVC. In this video, explore l10n and i18n with Spring MVC."},{"@type":"Syllabus","name":"Automatic locale resolution demo","timeRequired":"PT9M55S","description":"Learn how to localize and externalize messages and labels for an application in Spring MVC. In this video, explore l10n and i18n with Spring MVC."},{"@type":"Syllabus","name":"CookieLocaleResolver and interceptor for l10n and i18n","timeRequired":"PT5M37S","description":"Learn how to localize and externalize messages and labels for an application in Spring MVC. In this video, explore l10n and i18n with Spring MVC."},{"@type":"Syllabus","name":"RESTful services recap","timeRequired":"PT5M19S","description":"In this video, learn how to extend your Spring MVC application to also serve REST requests. Discover how to create your own RESTful endpoints in a Spring MVC application."},{"@type":"Syllabus","name":"Use @Controller and @ResponseBody","timeRequired":"PT5M14S","description":"In this video, learn how to access the HTTP request body to be converted to the declared method argument type. You can access the request body in your controller."},{"@type":"Syllabus","name":"Use @RequestController and @ResponseEntity","timeRequired":"PT4M27S","description":"In this video, learn how to access the HTTP request body to be converted to the declared method argument type. You can access the request body in your controller."},{"@type":"Syllabus","name":"Use @PathVariable and @RequestParam to get request payload","timeRequired":"PT3M51S","description":"In this video, learn how to define a path variable in URLs in RESTful services using Spring MVC."},{"@type":"Syllabus","name":"Use @RequestBody and @ResponseEntity","timeRequired":"PT5M18S","description":"The @RequestBody represents the request body when creating RESTful services with Spring MVC."},{"@type":"Syllabus","name":"Use @ExceptionHandler","timeRequired":"PT3M27S","description":"The @ExceptionHandler manages exception handling when creating RESTful services with Spring MVC."},{"@type":"Syllabus","name":"Testing the @ExceptionHandler with the @ResponseEntity","timeRequired":"PT5M35S","description":"In this video, learn how to test exception handling in RESTful services with Spring MVC."},{"@type":"Syllabus","name":"MVC vs. REST controllers","timeRequired":"PT1M22S"},{"@type":"Syllabus","name":"Next steps","timeRequired":"PT43S","description":"In this video, discover other Spring courses, such as Spring Security and Spring Data REST."}],"aggregateRating":{"@type":"AggregateRating","ratingCount":338,"ratingValue":4.7,"bestRating":5,"worstRating":1},"review":[{"@type":"Review","author":{"@type":"Person","name":"Shahin N P","jobTitle":"Senior Software Engineer | Java, Spring, Html/CSS, JavaScript, Angular, Eclipse, PgAdmin, Oracle Cloud","url":"https://ae.linkedin.com/in/shahinnp"},"reviewRating":{"@type":"Rating","ratingValue":5},"reviewBody":"Thanks. its a really good course.","datePublished":"2024-02-24T09:12:06.575Z","publisher":{"@type":"Organization","name":"LinkedIn"},"bestRating":5,"worstRating":1},{"@type":"Review","author":{"@type":"Person","name":"Olga Skyba","jobTitle":"Student at EPAM (Java Developer)","url":"https://ua.linkedin.com/in/olga-skyba-150065205"},"reviewRating":{"@type":"Rating","ratingValue":5},"reviewBody":"Thank you for so a great course, clear explanation, and very useful practice examples!","datePublished":"2023-08-17T07:41:05.412Z","publisher":{"@type":"Organization","name":"LinkedIn"},"bestRating":5,"worstRating":1},{"@type":"Review","author":{"@type":"Person","name":"Rahul Singh","jobTitle":"Manit","url":"https://in.linkedin.com/in/rahul-singh-2762ab158"},"reviewRating":{"@type":"Rating","ratingValue":5},"reviewBody":"course is good and i completed it still i am not able to download certificates","datePublished":"2023-07-20T10:54:41.795Z","publisher":{"@type":"Organization","name":"LinkedIn"},"bestRating":5,"worstRating":1}],"video":{"@type":"VideoObject","name":"Spring MVC for robust applications - Spring: Spring MVC","author":{"@type":"Person","name":"Ketkee Aryamane","description":"Technical Writer / Knowledge Management Contribution Strategist","jobTitle":"Technical Writer / Knowledge Management Contribution Strategist","url":"https://se.linkedin.com/in/ketkee-aryamane-19532098"},"thumbnailUrl":"https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I","description":"Get started with Spring MVC, an essential web framework for Java developers who work on enterprise-level projects.","duration":"PT1M4S","datePublished":"2019-11-07","uploadDate":"2019-11-07","requiresSubscription":false,"isAccessibleForFree":true,"contentUrl":"https://www.linkedin.com/learning/spring-spring-mvc-2/spring-mvc-for-robust-applications"},"educationalLevel":"Intermediate","educationalCredentialAwarded":[{"@type":"EducationalOccupationalCredential","name":"LinkedIn Learning Certificate of Completion","url":"https://www.linkedin.com/help/learning/answer/a598944/learning-certificates-of-completion-faqs","credentialCategory":"Certificate","offers":[{"@type":"Offer","category":"Subscription"}]}]} </script> <!----> </head> <body dir="ltr"> <!----><!----><!----> <!----> <a href="#main-content" class="skip-link btn-md btn-primary absolute z-11 -top-[100vh] focus:top-0"> Skip to main content </a> <header class="header base-detail-page__header px-mobile-container-padding bg-color-background-container global-alert-offset sticky-header"> <nav class="nav pt-1.5 pb-2 flex items-center justify-between relative flex-nowrap babymamabear:py-1.5 nav--minified-mobile " aria-label="Primary"> <a href="https://www.linkedin.com/learning/?trk=learning-course_nav-header-logo" class="nav__logo-link link-no-visited-state z-1 mr-auto min-h-[52px] flex items-center babybear:z-0 hover:no-underline focus:no-underline active:no-underline babymamabear:mr-3" data-tracking-control-name="learning-course_nav-header-logo" data-tracking-will-navigate> <div class="learning-logo"> <icon class="learning-logo__inbug onload" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/4zqr0f9jf98vi2nkijyc3bex2"></icon> <span class="learning-logo__text" aria-hidden="true">Learning</span> <span class="sr-only">LinkedIn Learning</span> </div> </a> <section class="search-bar relative flex flex-grow h-[40px] bg-cool-gray-20 min-w-0 max-w-full mx-4 rounded-sm babymamabear:mx-0 babymamabear:mb-1.5 babymamabear:bg-color-transparent babymamabear:w-full babymamabear:flex babymamabear:flex-wrap search-bar--minified-mobile" data-current-search-type="LEARNING"> <button class="search-bar__placeholder papabear:hidden text-input w-full mt-1.5 !pl-[14px] border-1 border-solid border-color-border-faint rounded-[2px] h-[40px] max-h-[40px] flex items-center overflow-hidden cursor-text" data-tracking-control-name="learning-course_search-switcher-opener"> <icon class="text-color-icon w-3 h-3 mr-1" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/397vrsk6op88l4981ji1xe1qt"></icon> <div class="search-bar__full-placeholder font-sans text-md text-color-text max-w-[calc(100%-40px)] text-left whitespace-nowrap overflow-hidden text-ellipsis"> <!----><!----> Search skills, subjects, or software <!----> </div> <span class="sr-only">Expand search</span> </button> <div class="switcher-tabs__trigger-and-tabs babymamabear:flex"> <button aria-expanded="false" class="switcher-tabs__placeholder flex !h-full !py-0 !pl-2 !pr-1.5 border-r-1 border-solid border-r-color-border-faint babymamabear:hidden tab-md papabear:tab-vertical papabear:justify-start cursor-pointer" data-tracking-control-name="learning-course_switcher-tabs-placeholder" aria-describedby="switcher-description"> <span class="switcher-tabs__placeholder-text m-auto"></span> <icon class="switcher-tabs__caret-down-filled onload pointer-events-none block my-auto min-h-[24px] min-w-[24px] h-[24px] babymamabear:hidden" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/7asbl4deqijhoy3z2ivveispv"></icon> </button> <div id="switcher-description" class="hidden">This button displays the currently selected search type. When expanded it provides a list of search options that will switch the search inputs to match the current selection. </div> <!----> <div class="switcher-tabs hidden z-[1] w-auto min-w-[160px] mb-1.5 py-1 absolute top-[48px] left-0 border-solid border-1 border-color-border-faint papabear:container-raised babymamabear:static babymamabear:w-[100vw] babymamabear:h-[48px] babymamabear:p-0 overflow-y-hidden overflow-x-auto md:overflow-x-hidden"> <ul class="switcher-tabs__list flex flex-1 items-stretch papabear:flex-col" role="tablist"> <li class="switcher-tabs__tab h-[44px] babymamabear:basis-1/2" role="presentation"> <button aria-controls="jobs-search-panel" aria-selected="false" class="switcher-tabs__button w-full h-full tab-md papabear:tab-vertical papabear:justify-start cursor-pointer " data-switcher-type="JOBS" data-tracking-control-name="learning-course_switcher-tabs-jobs-search-switcher" id="job-switcher-tab" role="tab"> Jobs </button> </li> <li class="switcher-tabs__tab h-[44px] babymamabear:basis-1/2" role="presentation"> <button aria-controls="people-search-panel" aria-selected="false" class="switcher-tabs__button w-full h-full tab-md papabear:tab-vertical papabear:justify-start cursor-pointer " data-switcher-type="PEOPLE" data-tracking-control-name="learning-course_switcher-tabs-people-search-switcher" id="people-switcher-tab" role="tab"> People </button> </li> <li class="switcher-tabs__tab h-[44px] babymamabear:basis-1/2" role="presentation"> <button aria-controls="learning-search-panel" aria-selected="true" class="switcher-tabs__button w-full h-full tab-md papabear:tab-vertical papabear:justify-start cursor-pointer tab-selected" data-switcher-type="LEARNING" data-tracking-control-name="learning-course_switcher-tabs-learning-search-switcher" id="learning-switcher-tab" role="tab"> Learning </button> </li> </ul> <button aria-label="Close" class="switcher-tabs__cancel-btn papabear:hidden block w-6 h-6 m-auto text-color-text-low-emphasis" data-tracking-control-name="learning-course_switcher-tabs-cancel-search-switcher" type="button"> <icon class="switcher-tabs__cancel-icon block w-3 h-3 m-auto onload" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cs55jggk4p3uqh9ozxdmpvjg7"></icon> </button> </div> </div> <section class="base-search-bar w-full h-full" data-searchbar-type="PEOPLE" aria-labelledby="people-switcher-tab" id="people-search-panel" role="tabpanel"> <form class="base-search-bar__form w-full flex babymamabear:mx-mobile-container-padding babymamabear:flex-col" role="search" action="/pub/dir" data-tracking-control-name="learning-course_people-search-bar_base-search-bar-form"> <section class="dismissable-input text-input !pr-3 bg-color-transparent flex items-center h-[40px] min-w-0 relative babybear:w-full babybear:mb-1 search-input"> <input aria-label="First Name" autocomplete="on" class="dismissable-input__input font-sans text-md text-color-text bg-color-transparent flex items-center flex-1 focus:outline-none placeholder:text-color-text-secondary" data-tracking-control-name="learning-course_people-search-bar_first-name_dismissable-input" maxlength="500" name="firstName" placeholder="First Name" type="search"> <button class="dismissable-input__button text-color-text h-[40px] min-w-[24px] w-[24px] -mr-2 opacity-0 transition-opacity duration-[0.1s] disabled:invisible focus:opacity-100" data-tracking-control-name="learning-course_people-search-bar_first-name_dismissable-input-clear" type="button"> <label class="sr-only">Clear text</label> <icon class="dismissable-input__button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cs55jggk4p3uqh9ozxdmpvjg7"></icon> </button> </section> <section class="dismissable-input text-input !pr-3 bg-color-transparent flex items-center h-[40px] min-w-0 relative babybear:w-full babybear:mb-1 search-input"> <input aria-label="Last Name" autocomplete="on" class="dismissable-input__input font-sans text-md text-color-text bg-color-transparent flex items-center flex-1 focus:outline-none placeholder:text-color-text-secondary" data-tracking-control-name="learning-course_people-search-bar_last-name_dismissable-input" maxlength="500" name="lastName" placeholder="Last Name" type="search"> <button class="dismissable-input__button text-color-text h-[40px] min-w-[24px] w-[24px] -mr-2 opacity-0 transition-opacity duration-[0.1s] disabled:invisible focus:opacity-100" data-tracking-control-name="learning-course_people-search-bar_last-name_dismissable-input-clear" type="button"> <label class="sr-only">Clear text</label> <icon class="dismissable-input__button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cs55jggk4p3uqh9ozxdmpvjg7"></icon> </button> </section> <input name="trk" value="learning-course_people-search-bar_search-submit" type="hidden"> <button class="base-search-bar__submit-btn block basis-[40px] flex-shrink-0 cursor-pointer babymamabear:invisible babymamabear:ml-[-9999px] babymamabear:w-[1px] babymamabear:h-[1px]" aria-label="Search" data-tracking-control-name="learning-course_people-search-bar_base-search-bar-search-submit" type="submit"> <icon class="base-search-bar__search-icon onload mx-auto" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cb5bsr4tsn2r4sjg9e3ls4tjl"></icon> </button> </form> </section> <section class="base-search-bar w-full h-full" data-searchbar-type="JOBS" aria-labelledby="job-switcher-tab" id="jobs-search-panel" role="tabpanel"> <form class="base-search-bar__form w-full flex babymamabear:mx-mobile-container-padding babymamabear:flex-col" role="search" action="/jobs/search" data-tracking-control-name="learning-course_jobs-search-bar_base-search-bar-form"> <code id="i18n_aria_live_text_no-suggestions" style="display: none"><!--"No suggestions found"--></code> <code id="i18n_aria_live_text_one-suggestion" style="display: none"><!--"One Suggestion. Use up and down keys to navigate"--></code> <code id="i18n_aria_live_text_multiple-suggestions" style="display: none"><!--"Multiple Suggestions. Use up and down keys to navigate"--></code> <section class="dismissable-input text-input !pr-3 bg-color-transparent flex items-center h-[40px] min-w-0 relative babybear:w-full babybear:mb-1 typeahead-input keywords-typeahead-input text-input"> <input aria-autocomplete="list" aria-controls="job-search-bar-keywords-typeahead-list" aria-haspopup="listbox" aria-label="Search job titles or companies" autocomplete="off" class="dismissable-input__input font-sans text-md text-color-text bg-color-transparent flex items-center flex-1 focus:outline-none placeholder:text-color-text-secondary" data-tracking-control-name="learning-course_dismissable-input" id="job-search-bar-keywords" maxlength="500" name="keywords" placeholder="Search job titles or companies" role="combobox" type="search"> <!----> <div class="typeahead-input__dropdown container-lined absolute top-[calc(100%+3px)] left-0 w-full rounded-b-md rounded-t-none z-[10] overflow-hidden max-w-none babybear:min-w-full babybear:bottom-0 babybear:overflow-y-auto"> <template class="typeahead-item-template"> <li class="typeahead-input__dropdown-item py-1.5 px-2 hover:cursor-pointer hover:bg-color-surface-new-hover hover:border-y-2 hover:border-solid hover:border-color-container-primary" role="option"> <span class="typeahead-input__dropdown-text font-sans text-sm font-bold text-color-text"></span> </li> </template> <ul class="typeahead-input__dropdown-list w-full" id="job-search-bar-keywords-typeahead-list" role="listbox"></ul> </div> <!----> <button class="dismissable-input__button text-color-text h-[40px] min-w-[24px] w-[24px] -mr-2 opacity-0 transition-opacity duration-[0.1s] disabled:invisible focus:opacity-100" data-tracking-control-name="learning-course_dismissable-input-clear" type="button"> <label class="sr-only">Clear text</label> <icon class="dismissable-input__button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cs55jggk4p3uqh9ozxdmpvjg7"></icon> </button> </section> <!----> <code id="i18n_aria_live_text_no-suggestions" style="display: none"><!--"No suggestions found"--></code> <code id="i18n_aria_live_text_one-suggestion" style="display: none"><!--"One Suggestion. Use up and down keys to navigate"--></code> <code id="i18n_aria_live_text_multiple-suggestions" style="display: none"><!--"Multiple Suggestions. Use up and down keys to navigate"--></code> <section class="dismissable-input text-input !pr-3 bg-color-transparent flex items-center h-[40px] min-w-0 relative babybear:w-full babybear:mb-1 typeahead-input location-typeahead-input"> <input aria-autocomplete="list" aria-controls="job-search-bar-location-typeahead-list" aria-haspopup="listbox" aria-label="Location" autocomplete="off" class="dismissable-input__input font-sans text-md text-color-text bg-color-transparent flex items-center flex-1 focus:outline-none placeholder:text-color-text-secondary" data-tracking-control-name="learning-course_dismissable-input" id="job-search-bar-location" maxlength="500" name="location" placeholder="Location" role="combobox" value="Hong Kong" type="search"> <!----> <div class="typeahead-input__dropdown container-lined absolute top-[calc(100%+3px)] left-0 w-full rounded-b-md rounded-t-none z-[10] overflow-hidden max-w-none babybear:min-w-full babybear:bottom-0 babybear:overflow-y-auto"> <template class="typeahead-item-template"> <li class="typeahead-input__dropdown-item py-1.5 px-2 hover:cursor-pointer hover:bg-color-surface-new-hover hover:border-y-2 hover:border-solid hover:border-color-container-primary" role="option"> <span class="typeahead-input__dropdown-text font-sans text-sm font-bold text-color-text"></span> </li> </template> <ul class="typeahead-input__dropdown-list w-full" id="job-search-bar-location-typeahead-list" role="listbox"></ul> </div> <!----> <button class="dismissable-input__button text-color-text h-[40px] min-w-[24px] w-[24px] -mr-2 opacity-0 transition-opacity duration-[0.1s] disabled:invisible focus:opacity-100" data-tracking-control-name="learning-course_dismissable-input-clear" type="button"> <label class="sr-only">Clear text</label> <icon class="dismissable-input__button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cs55jggk4p3uqh9ozxdmpvjg7"></icon> </button> </section> <input name="geoId" value="102817007" type="hidden"> <input name="trk" value="learning-course_jobs-search-bar_search-submit" type="hidden"> <button class="base-search-bar__submit-btn block basis-[40px] flex-shrink-0 cursor-pointer babymamabear:invisible babymamabear:ml-[-9999px] babymamabear:w-[1px] babymamabear:h-[1px]" aria-label="Search" data-tracking-control-name="learning-course_jobs-search-bar_base-search-bar-search-submit" type="submit"> <icon class="base-search-bar__search-icon onload mx-auto" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cb5bsr4tsn2r4sjg9e3ls4tjl"></icon> </button> </form> </section> <section class="base-search-bar w-full h-full" data-searchbar-type="LEARNING" aria-labelledby="learning-switcher-tab" id="learning-search-panel" role="tabpanel"> <form class="base-search-bar__form w-full flex babymamabear:mx-mobile-container-padding babymamabear:flex-col" role="search" action="/learning/search" data-tracking-control-name="learning-course_learning-search-bar_base-search-bar-form"> <section class="dismissable-input text-input !pr-3 bg-color-transparent flex items-center h-[40px] min-w-0 relative babybear:w-full babybear:mb-1 search-input"> <input aria-label="Search skills, subjects, or software" autocomplete="on" class="dismissable-input__input font-sans text-md text-color-text bg-color-transparent flex items-center flex-1 focus:outline-none placeholder:text-color-text-secondary" data-tracking-control-name="learning-course_learning-search-bar_keywords_dismissable-input" maxlength="500" name="keywords" placeholder="Search skills, subjects, or software" type="search"> <button class="dismissable-input__button text-color-text h-[40px] min-w-[24px] w-[24px] -mr-2 opacity-0 transition-opacity duration-[0.1s] disabled:invisible focus:opacity-100" data-tracking-control-name="learning-course_learning-search-bar_keywords_dismissable-input-clear" type="button"> <label class="sr-only">Clear text</label> <icon class="dismissable-input__button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cs55jggk4p3uqh9ozxdmpvjg7"></icon> </button> </section> <input class="nav__search-uoo" name="upsellOrderOrigin" type="hidden"> <input name="trk" value="learning-course_learning-search-bar_search-submit" type="hidden"> <button class="base-search-bar__submit-btn block basis-[40px] flex-shrink-0 cursor-pointer babymamabear:invisible babymamabear:ml-[-9999px] babymamabear:w-[1px] babymamabear:h-[1px]" aria-label="Search" data-tracking-control-name="learning-course_learning-search-bar_base-search-bar-search-submit" type="submit"> <icon class="base-search-bar__search-icon onload mx-auto" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cb5bsr4tsn2r4sjg9e3ls4tjl"></icon> </button> </form> </section> <!----> <div aria-live="polite" class="search-bar__live-text sr-only" role="status"></div> </section> <!----> <div class="nav__cta-container order-3 flex gap-x-1 justify-end min-w-[100px] flex-nowrap flex-shrink-0 babybear:flex-wrap flex-2 babymamabear:min-w-[50px] "> <a class="nav__button-tertiary btn-md btn-tertiary" href="http://www.linkedin.com/learning/subscription/products?courseSlug=spring-spring-mvc-2&destRedirectURL=https%3A%2F%2Fwww%2Elinkedin%2Ecom%2Flearning%2Fspring-spring-mvc-2&trk=learning-course_nav-header-join&upsellTrk=lil_upsell_nav_subscription&session_redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%2Fspring-spring-mvc-2%3Ftrk%3Dcourse_title" data-tracking-control-name="lil_upsell_nav_subscription" data-tracking-impression-name="lil_upsell_nav_subscription" data-test-live-nav-primary-cta data-tracking-will-navigate> Start free trial </a> <a class="nav__button-secondary btn-md btn-secondary-emphasis" href="https://www.linkedin.com/learning-login/?redirect=https%3A%2F%2Fwww%2Elinkedin%2Ecom%2Flearning%2Fspring-spring-mvc-2%3Ftrk%3Dcourse_title%26trk%3Dcourse_title&fromSignIn=true&session_redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%2Fspring-spring-mvc-2%3Ftrk%3Dcourse_title&trk=learning-course_nav-header-signin" data-tracking-control-name="learning-course_nav-header-signin" data-tracking-will-navigate> Sign in </a> <a aria-label="Sign in" class="nav__link-person papabear:hidden mamabear:hidden" data-tracking-control-name="learning-course_nav-header-signin" data-tracking-will-navigate href="https://www.linkedin.com/learning-login/?redirect=https%3A%2F%2Fwww%2Elinkedin%2Ecom%2Flearning%2Fspring-spring-mvc-2%3Ftrk%3Dcourse_title%26trk%3Dcourse_title&fromSignIn=true&session_redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%2Fspring-spring-mvc-2%3Ftrk%3Dcourse_title&trk=learning-course_nav-header-signin"> <img class="inline-block relative rounded-[50%] w-4 h-4 bg-color-entity-ghost-background" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/9c8pery4andzj6ohjkjp54ma2" data-ghost-classes="bg-color-entity-ghost-background" data-ghost-url="https://static.licdn.com/aero-v1/sc/h/9c8pery4andzj6ohjkjp54ma2" alt> </a> </div> <!----> <!----> </nav> </header> <!----> <div class="cta-banner "> <div class="enterprise-nav"> <div class="enterprise-nav__content-wrapper"> <p id="enterprise-nav-solutions" class="enterprise-nav__content" tabindex="-1"> Solutions for: </p> <a href="https://learning.linkedin.com/for-entire-companies?src=li-learning-nav&trk=learning-course_enterprise-nav" aria-labelledby="enterprise-nav-solutions business-nav-business" class="enterprise-nav__content" data-tracking-control-name="learning-course_enterprise-nav" data-tracking-will-navigate="true" id="business-nav-business">Business</a> <a href="https://learning.linkedin.com/for-higher-education?src=li-learning-nav&trk=learning-course_enterprise-nav" aria-labelledby="enterprise-nav-solutions business-nav-education" class="enterprise-nav__content" data-tracking-control-name="learning-course_enterprise-nav" data-tracking-will-navigate="true" id="business-nav-education">Higher Education</a> <a href="https://learning.linkedin.com/for-governments?src=li-learning-nav&trk=learning-course_enterprise-nav" aria-labelledby="enterprise-nav-solutions business-nav-government" class="enterprise-nav__content" data-tracking-control-name="learning-course_enterprise-nav" data-tracking-will-navigate="true" id="business-nav-government">Government</a> <a href="/learning/subscription/teams?veh=lil_upx&src=li-learning-nav&trk=learning-course_enterprise-nav" aria-labelledby="enterprise-nav-solutions business-nav-buy" class="enterprise-nav__content" data-test-live-enterprise-upsell="true" data-tracking-control-name="learning-course_enterprise-nav" data-tracking-will-navigate="true" data-tracking-impression-name="lil_upsell_learning-course_enterprise-nav_teambuy" id="business-nav-buy">Buy for my team</a> </div> </div> <!----> <!----> </div> <main class="main papabear:flex papabear:w-content-max-w papabear:mx-auto papabear:pt-desktop-content-top-margin mamabear:pt-desktop-content-top-margin " id="main-content" role="main"> <section class="core-rail mx-auto papabear:w-core-rail-width mamabear:max-w-[790px] babybear:max-w-[790px]"> <ol class="breadcrumb__list"> <li class="breadcrumb__item"> <a class="breadcrumb__link" href="https://www.linkedin.com/learning/browse?trk=learning-course_breadcrumb" data-tracking-control-name="learning-course_breadcrumb" data-tracking-will-navigate>All topics</a> </li> <li class="breadcrumb__item"> <a class="breadcrumb__link" href="https://www.linkedin.com/learning/topics/technology?trk=learning-course_breadcrumb" data-tracking-control-name="learning-course_breadcrumb" data-tracking-will-navigate>Technology</a> </li> <li class="breadcrumb__item"> <a class="breadcrumb__link" href="https://www.linkedin.com/learning/topics/web-development?trk=learning-course_breadcrumb" data-tracking-control-name="learning-course_breadcrumb" data-tracking-will-navigate>Web Development</a> </li> <li class="breadcrumb__item"> <a class="breadcrumb__link" href="https://www.linkedin.com/learning/topics/front-end-web-development?trk=learning-course_breadcrumb" data-tracking-control-name="learning-course_breadcrumb" data-tracking-will-navigate>Front-End Web Development</a> </li> </ol> <script type="application/ld+json"> {"@context":"http://schema.org/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"All topics","item":"https://www.linkedin.com/learning/browse"},{"@type":"ListItem","position":2,"name":"Technology","item":"https://www.linkedin.com/learning/topics/technology"},{"@type":"ListItem","position":3,"name":"Web Development","item":"https://www.linkedin.com/learning/topics/web-development"},{"@type":"ListItem","position":4,"name":"Front-End Web Development","item":"https://www.linkedin.com/learning/topics/front-end-web-development"}]} </script> <section class="top-card-layout container-lined overflow-hidden babybear:rounded-[0px]"> <section class="top-card__image-container"> <img class="top-card__image" alt="Spring: Spring MVC" data-delayed-url="https://media.licdn.com/dms/image/v2/C4E0DAQG01ZyQZXyDFA/learning-public-crop_675_1200/learning-public-crop_675_1200/0/1573149163153?e=2147483647&v=beta&t=PDLqZ93hlmrCiMCRQvSwUv5yzovXswC7wabZzPIdU4I"> <a class="top-card__overlay-button" data-tracking-control-name="course_preview" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/spring-mvc-for-robust-applications?autoplay=true&trk=course_preview"> <span class="top-card__preview-cta "> <icon class="top-card__preview-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/5jwhkytplzxiejvhzfu0t7m8l"> </icon> <span class="top-card__preview-cta-text">Preview</span> </span> <!----> </a> </section> <div class="top-card-layout__card relative p-2 papabear:p-details-container-padding"> <div class="top-card-layout__entity-info-container flex flex-wrap papabear:flex-nowrap"> <div class="top-card-layout__entity-info flex-grow flex-shrink-0 basis-0 babybear:flex-none babybear:w-full babybear:flex-none babybear:w-full"> <h1 class="top-card-layout__title font-sans text-lg papabear:text-xl font-bold leading-open text-color-text mb-0"> Spring: Spring MVC </h1> <h2 class="top-card-layout__headline break-words font-sans text-md leading-open text-color-text"> <div class="top-card__headline-row"> <span class="top-card__headline-row-item top-card__headline-row-item--large">With Ketkee Aryamane</span> <span class="top-card__headline-row-item">Liked by 3,365 users</span> </div> <div class="top-card__headline-row"> <span class="top-card__headline-row-item">Duration: 5h 30m</span> <span class="top-card__headline-row-item">Skill level: Intermediate</span> <span class="top-card__headline-row-item">Released: 11/7/2019</span> </div> </h2> <!----> <!----> <div class="top-card-layout__cta-container flex flex-wrap mt-0.5 papabear:mt-0 ml-[-12px]"> <a href="http://www.linkedin.com/learning/subscription/products?courseSlug=spring-spring-mvc-2&destRedirectURL=https%3A%2F%2Fwww%2Elinkedin%2Ecom%2Flearning%2Fspring-spring-mvc-2&trk=course_info&upsellTrk=lil_upsell_course_info_subscription" data-tracking-control-name="lil_upsell_course_info_subscription" data-tracking-impression-name="lil_upsell_course_info_subscription" data-litms-tracking-control-name="lil_upsell_course_info_subscription" data-tracking-will-navigate class="top-card__upsell-link top-card-layout__cta mt-2 ml-1.5 h-auto babybear:flex-auto top-card-layout__cta--primary btn-md btn-primary" data-test-live-course-sub-upsell> Start my 1-month free trial </a> <a class="buy-for-your-team-cta__link top-card-layout__cta mt-2 ml-1.5 h-auto babybear:flex-auto top-card-layout__cta--secondary btn-md btn-secondary" href="/learning/subscription/teams?veh=lil_upx&src=li-lil-upsell&trk=learning-course_buy-for-your-team-cta" data-tracking-control-name="learning-course_buy-for-your-team-cta" data-tracking-impression-name="lil_upsell_learning-course_buy-for-your-team-cta_teambuy" data-test-live-buy-for-your-team-upsell data-tracking-will-navigate> Buy for my team </a> </div> </div> <!----> </div> <!----> <!----> </div> </section> <div class="details mx-details-container-padding"> <section class="core-section-container my-3 course-details"> <!----> <h2 class="core-section-container__title section-title"> Course details </h2> <!----> <div class="core-section-container__content break-words"> <section class="show-more-less-html course-details__description" data-max-lines="4"> <div class="show-more-less-html__markup show-more-less-html__markup--clamp-after-4 relative overflow-hidden"> Dive deep into Spring MVC, an essential web framework for Java developers who work on enterprise-level projects. Throughout this practical course, instructor Ketkee Aryamane steps through fundamental aspects of this framework, where she explains controllers, models, and views in Spring MVC. She also discusses the benefits of learning Spring MVC; explores exception handling, themes, implementing asynchronous execution flows, and extending your Spring MVC application to serve REST requests; and provides exercises that can help you strengthen your understanding of key concepts. Upon completing this course, you'll have the knowledge you need to build robust MVC web applications with Spring MVC. </div> <button class="show-more-less-html__button show-more-less-button show-more-less-html__button--more ml-0.5" data-tracking-control-name="learning-course_show-more-html-btn" aria-label="i18n_show_more" aria-expanded="false"> <!----> Show more <icon class="show-more-less-html__button-icon show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cyolgscd0imw2ldqppkrb84vo"></icon> </button> <button class="show-more-less-html__button show-more-less-button show-more-less-html__button--less ml-0.5" data-tracking-control-name="learning-course_show-less-html-btn" aria-label="i18n_show_less" aria-expanded="true"> <!----> Show less <icon class="show-more-less-html__button-icon show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/4chtt12k98xwnba1nimld2oyg"></icon> </button> <!----> </section> </div> </section> <section class="core-section-container my-3 course-skills"> <!----> <h2 class="core-section-container__title section-title"> Skills you’ll gain </h2> <!----> <div class="core-section-container__content break-words"> <ul class="course-skills__skill-list"> <li class="course-skills__skill-list-item"> <a href="https://www.linkedin.com/learning/search?keywords=Spring+MVC&trk=learning-course_pill-list" data-tracking-control-name="learning-course_pill-list" data-tracking-will-navigate class="pill flex w-fit mr-[6px] mb-1 hover:no-underline skill-pill"> Spring MVC </a> </li> </ul> </div> </section> <section class="core-section-container my-3"> <!----> <h2 class="core-section-container__title section-title"> Earn a sharable certificate </h2> <!----> <div class="core-section-container__content break-words"> <p class="course-certificate__body-paragraph">Share what you’ve learned, and be a standout professional in your desired industry with a certificate showcasing your knowledge gained from the course.</p> <div class="course-certificate__image-container"> <img class="course-certificate__certificate-image" alt="Sample certificate" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/52nu8qc7cfcn7vrftr7ttceqt"> <div> <h3 class="course-certificate__detail-list-heading"> <div class="learning-logo"> <icon class="learning-logo__inbug onload" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/4zqr0f9jf98vi2nkijyc3bex2"></icon> <span class="learning-logo__text learning-logo__text--show-on-mobile" aria-hidden="true">Learning</span> <span class="sr-only">LinkedIn Learning</span> </div> <span>Certificate of Completion</span> </h3> <ul> <li class="course-certificate__detail-list-item"> <div class="course-certificate__detail-list-item-icon-wrapper"><icon data-delayed-url="https://static.licdn.com/aero-v1/sc/h/5lqa4dj5v9gp6yjh6s6iwtdbb"></icon></div> <p class="course-certificate__detail-list-item-text">Showcase on your LinkedIn profile under “Licenses and Certificate” section</p> </li> <li class="course-certificate__detail-list-item"> <div class="course-certificate__detail-list-item-icon-wrapper"><icon data-delayed-url="https://static.licdn.com/aero-v1/sc/h/5lqa4dj5v9gp6yjh6s6iwtdbb"></icon></div> <p class="course-certificate__detail-list-item-text">Download or print out as PDF to share with others</p> </li> <li class="course-certificate__detail-list-item"> <div class="course-certificate__detail-list-item-icon-wrapper"><icon data-delayed-url="https://static.licdn.com/aero-v1/sc/h/5lqa4dj5v9gp6yjh6s6iwtdbb"></icon></div> <p class="course-certificate__detail-list-item-text">Share as image online to demonstrate your skill</p> </li> </ul> </div> </div> </div> </section> <section class="core-section-container my-3 course-instructors"> <!----> <h2 class="core-section-container__title section-title"> Meet the instructor </h2> <!----> <div class="core-section-container__content break-words"> <ul class="course-instructors__list"> <li class="course-instructors__list-item"> <a href="https://se.linkedin.com/in/ketkee-aryamane-19532098?trk=learning-course_instructor" target="_self" data-tracking-control-name="learning-course_instructor" data-tracking-will-navigate class="base-card relative w-full hover:no-underline focus:no-underline base-card--link base-main-card flex flex-wrap py-2 pr-2 babybear:pr-0 base-main-card--link"> <!----> <img class="inline-block relative rounded-[50%] w-6 h-6 bg-color-entity-ghost-background" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/9c8pery4andzj6ohjkjp54ma2" data-ghost-classes="bg-color-entity-ghost-background" data-ghost-url="https://static.licdn.com/aero-v1/sc/h/9c8pery4andzj6ohjkjp54ma2" alt="Click here to view Ketkee Aryamane’s instructor page"> <div class="base-main-card__info self-center ml-1 flex-1 relative break-words papabear:min-w-0 mamabear:min-w-0 babybear:w-full"> <h3 class="base-main-card__title font-sans text-[18px] font-bold text-color-text overflow-hidden "> Ketkee Aryamane </h3> <h4 class="base-main-card__subtitle body-text text-color-text overflow-hidden"> Technical Writer / Knowledge Management Contribution Strategist </h4> <!----> <!----> </div> <!----> </a> </li> </ul> </div> </section> <section class="core-section-container my-3 reviews-feed"> <!----> <h2 class="core-section-container__title section-title"> Learner reviews </h2> <!----> <div class="core-section-container__content break-words"> <div class="reviews-feed__ratings-summary"> <section class="ratings-summary"> <div class="ratings-summary__overall-rating"> <h3 class="ratings-summary__header"><span class="ratings-summary__rating-average">4.7</span> <span class="ratings-summary__rating-max">out of 5</span></h3> <figure class="ratings-summary__figure"> <span class="star-rating" role="img" aria-label="Rating: 4.7 out of 5 stars"> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/7dacecy4xq1otzk8pae2g0hxd"></icon> </span> </span> <figcaption class="ratings-summary__ratings-total">338 ratings</figcaption> </figure> </div> <div class="ratings-summary__breakdown"> <div class="ratings-summary__disclaimer"> <div class="tooltip"> <button class="tooltip__trigger ratings-summary__disclaimer-trigger" data-tracking-control-name="toggle_disclaimer" type="button"> <icon class="ratings-summary__disclaimer-icon" data-svg-class-name="ratings-summary__disclaimer-icon-svg" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/g8uts9v3k83n9e3iyvcxit0k"> </icon> <span class="ratings-summary__disclaimer-text">How are ratings calculated?</span> </button> <span role="tooltip" class="tooltip__popup" aria-hidden="true"> The overall rating is calculated using the average of submitted ratings. Ratings and reviews can only be submitted when non-anonymous learners complete at least 40% of the course. This helps us avoid fake reviews and spam. </span> </div> </div> <ul> <li> <figure class="ratings-summary__rating-count"> <figcaption class="ratings-summary__rating-count-label"> 5 star </figcaption> <progress class="ratings-summary__progress-bar" max="338" value="263" aria-valuemin="0" aria-valuenow="263" aria-valuemax="338"> Current value: 263 </progress> <span class="ratings-summary__rating-count-percent"> 78% </span> </figure> </li> <li> <figure class="ratings-summary__rating-count"> <figcaption class="ratings-summary__rating-count-label"> 4 star </figcaption> <progress class="ratings-summary__progress-bar" max="338" value="51" aria-valuemin="0" aria-valuenow="51" aria-valuemax="338"> Current value: 51 </progress> <span class="ratings-summary__rating-count-percent"> 15% </span> </figure> </li> <li> <figure class="ratings-summary__rating-count"> <figcaption class="ratings-summary__rating-count-label"> 3 star </figcaption> <progress class="ratings-summary__progress-bar" max="338" value="15" aria-valuemin="0" aria-valuenow="15" aria-valuemax="338"> Current value: 15 </progress> <span class="ratings-summary__rating-count-percent"> 4% </span> </figure> </li> <li> <figure class="ratings-summary__rating-count"> <figcaption class="ratings-summary__rating-count-label"> 2 star </figcaption> <progress class="ratings-summary__progress-bar" max="338" value="4" aria-valuemin="0" aria-valuenow="4" aria-valuemax="338"> Current value: 4 </progress> <span class="ratings-summary__rating-count-percent"> 1% </span> </figure> </li> <li> <figure class="ratings-summary__rating-count"> <figcaption class="ratings-summary__rating-count-label"> 1 star </figcaption> <progress class="ratings-summary__progress-bar" max="338" value="5" aria-valuemin="0" aria-valuenow="5" aria-valuemax="338"> Current value: 5 </progress> <span class="ratings-summary__rating-count-percent"> 1% </span> </figure> </li> </ul> </div> </section> </div> <ul class="reviews-feed__reviews-list"> <li class="reviews-feed__reviews-list-item"> <div class="review-card"> <div class="base-card relative w-full hover:no-underline focus:no-underline base-card--link base-main-card flex flex-wrap py-2 pr-2 babybear:pr-0 base-main-card--link review-card__entity"> <a class="base-card__full-link absolute top-0 right-0 bottom-0 left-0 p-0 z-[2]" href="https://ae.linkedin.com/in/shahinnp?trk=learning-course" data-tracking-control-name="learning-course" data-tracking-will-navigate> <span class="sr-only"> Shahin N P <!----> </span> </a> <img class="inline-block relative rounded-[50%] w-6 h-6 " data-delayed-url="https://media.licdn.com/dms/image/v2/D5603AQGUFRg1ADl1tg/profile-displayphoto-shrink_100_100/profile-displayphoto-shrink_100_100/0/1705994107739?e=2147483647&v=beta&t=Ku5n3RyYtUWMAH4NS5cGmdcylqDJCFwvDhxGSwiYuZs" data-ghost-classes="bg-color-entity-ghost-background" data-ghost-url="https://static.licdn.com/aero-v1/sc/h/9c8pery4andzj6ohjkjp54ma2" alt="Shahin N P"> <div class="base-main-card__info self-center ml-1 flex-1 relative break-words papabear:min-w-0 mamabear:min-w-0 babybear:w-full"> <h3 class="base-main-card__title font-sans text-[18px] font-bold text-color-text overflow-hidden "> Shahin N P <!----> </h3> <h4 class="base-main-card__subtitle body-text text-color-text overflow-hidden"> Senior Software Engineer | Java, Spring, Html/CSS, JavaScript, Angular, Eclipse, PgAdmin, Oracle Cloud </h4> <!----> <div class="body-text text-color-text-low-emphasis base-main-card__metadata"> <div class="review-card__content"> <div class="review-card__centered-row"> <div class="review-card__star-container"> <span class="star-rating" role="img" aria-label="Rating: 5 out of 5 stars"> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> </span> </div> <span class="review-card__rating"> 5/5 </span> <span class="review-card__date"> February 24, 2024 </span> </div> <div class="review-card__text"> Thanks. its a really good course. </div> <div class="review-card__centered-row review-card__actions"> <a class="review-card__centered-row review-card__action-button" aria-label="Shahin N P’s comment is helpful" data-tracking-control-name="learning-course_review-card-helpful-button" data-tracking-will-navigate href="https://www.linkedin.com/learning-login/?redirect=https%3A%2F%2Fwww%2Elinkedin%2Ecom%2Flearning%2Fspring-spring-mvc-2%3Ftrk%3Dcourse_title%26trk%3Dcourse_title&trk=learning-course_review-card-helpful-button" rel="nofollow"> <icon class="review-card__centered-row review-card__action-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/5ptx189gjbxrh9wf3ncsehms9" data-svg-class-name="review-card__like-icon"></icon> Helpful </a> <span class="review-card__dot-delimiter">·</span> <a class="review-card__centered-row review-card__action-button" aria-label="Report Shahin N P’s comment" data-tracking-control-name="learning-course_review-card-report-button" data-tracking-will-navigate href="https://www.linkedin.com/learning-login/?redirect=https%3A%2F%2Fwww%2Elinkedin%2Ecom%2Flearning%2Fspring-spring-mvc-2%3Ftrk%3Dcourse_title%26trk%3Dcourse_title&trk=learning-course_review-card-report-button" rel="nofollow"> <icon class="review-card__centered-row review-card__action-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/d04ze1wt0ev8ck8e4ovqk762o" data-svg-class-name="review-card__flag-icon"></icon> Report </a> </div> </div> </div> </div> <!----> </div> </div> </li> <li class="reviews-feed__reviews-list-item"> <div class="review-card"> <div class="base-card relative w-full hover:no-underline focus:no-underline base-card--link base-main-card flex flex-wrap py-2 pr-2 babybear:pr-0 base-main-card--link review-card__entity"> <a class="base-card__full-link absolute top-0 right-0 bottom-0 left-0 p-0 z-[2]" href="https://ua.linkedin.com/in/olga-skyba-150065205?trk=learning-course" data-tracking-control-name="learning-course" data-tracking-will-navigate> <span class="sr-only"> Olga Skyba <!----> </span> </a> <img class="inline-block relative rounded-[50%] w-6 h-6 " data-delayed-url="https://media.licdn.com/dms/image/v2/C4D03AQFHbaVvuSNy6A/profile-displayphoto-shrink_100_100/profile-displayphoto-shrink_100_100/0/1643279249582?e=2147483647&v=beta&t=DOzbUB6IHxixqH-2vtCAA2Y0h0sjnkCs-XFJ1JQMi6E" data-ghost-classes="bg-color-entity-ghost-background" data-ghost-url="https://static.licdn.com/aero-v1/sc/h/9c8pery4andzj6ohjkjp54ma2" alt="Olga Skyba"> <div class="base-main-card__info self-center ml-1 flex-1 relative break-words papabear:min-w-0 mamabear:min-w-0 babybear:w-full"> <h3 class="base-main-card__title font-sans text-[18px] font-bold text-color-text overflow-hidden "> Olga Skyba <!----> </h3> <h4 class="base-main-card__subtitle body-text text-color-text overflow-hidden"> Student at EPAM (Java Developer) </h4> <!----> <div class="body-text text-color-text-low-emphasis base-main-card__metadata"> <div class="review-card__content"> <div class="review-card__centered-row"> <div class="review-card__star-container"> <span class="star-rating" role="img" aria-label="Rating: 5 out of 5 stars"> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> </span> </div> <span class="review-card__rating"> 5/5 </span> <span class="review-card__date"> August 17, 2023 </span> </div> <div class="review-card__text"> Thank you for so a great course, clear explanation, and very useful practice examples! </div> <div class="review-card__centered-row review-card__actions"> <a class="review-card__centered-row review-card__action-button" aria-label="Olga Skyba’s comment is helpful" data-tracking-control-name="learning-course_review-card-helpful-button" data-tracking-will-navigate href="https://www.linkedin.com/learning-login/?redirect=https%3A%2F%2Fwww%2Elinkedin%2Ecom%2Flearning%2Fspring-spring-mvc-2%3Ftrk%3Dcourse_title%26trk%3Dcourse_title&trk=learning-course_review-card-helpful-button" rel="nofollow"> <icon class="review-card__centered-row review-card__action-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/5ptx189gjbxrh9wf3ncsehms9" data-svg-class-name="review-card__like-icon"></icon> Helpful </a> <span class="review-card__dot-delimiter">·</span> <a class="review-card__centered-row review-card__action-button" aria-label="Report Olga Skyba’s comment" data-tracking-control-name="learning-course_review-card-report-button" data-tracking-will-navigate href="https://www.linkedin.com/learning-login/?redirect=https%3A%2F%2Fwww%2Elinkedin%2Ecom%2Flearning%2Fspring-spring-mvc-2%3Ftrk%3Dcourse_title%26trk%3Dcourse_title&trk=learning-course_review-card-report-button" rel="nofollow"> <icon class="review-card__centered-row review-card__action-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/d04ze1wt0ev8ck8e4ovqk762o" data-svg-class-name="review-card__flag-icon"></icon> Report </a> </div> </div> </div> </div> <!----> </div> </div> </li> <li class="reviews-feed__reviews-list-item"> <div class="review-card"> <div class="base-card relative w-full hover:no-underline focus:no-underline base-card--link base-main-card flex flex-wrap py-2 pr-2 babybear:pr-0 base-main-card--link review-card__entity"> <a class="base-card__full-link absolute top-0 right-0 bottom-0 left-0 p-0 z-[2]" href="https://in.linkedin.com/in/rahul-singh-2762ab158?trk=learning-course" data-tracking-control-name="learning-course" data-tracking-will-navigate> <span class="sr-only"> Rahul Singh <!----> </span> </a> <img class="inline-block relative rounded-[50%] w-6 h-6 " data-delayed-url="https://media.licdn.com/dms/image/v2/C5603AQFf-_asmdhFxQ/profile-displayphoto-shrink_100_100/profile-displayphoto-shrink_100_100/0/1626355006944?e=2147483647&v=beta&t=LISvbx5frUuGKIHl16v9Lvh8tRiWgbyumXMu3-DopAg" data-ghost-classes="bg-color-entity-ghost-background" data-ghost-url="https://static.licdn.com/aero-v1/sc/h/9c8pery4andzj6ohjkjp54ma2" alt="Rahul Singh"> <div class="base-main-card__info self-center ml-1 flex-1 relative break-words papabear:min-w-0 mamabear:min-w-0 babybear:w-full"> <h3 class="base-main-card__title font-sans text-[18px] font-bold text-color-text overflow-hidden "> Rahul Singh <!----> </h3> <h4 class="base-main-card__subtitle body-text text-color-text overflow-hidden"> Manit </h4> <!----> <div class="body-text text-color-text-low-emphasis base-main-card__metadata"> <div class="review-card__content"> <div class="review-card__centered-row"> <div class="review-card__star-container"> <span class="star-rating" role="img" aria-label="Rating: 5 out of 5 stars"> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> <span class="star-rating__icon-container" aria-hidden="true"> <icon class="star-rating__icon star-rating__icon--small " data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cg0ud3t24av7pe8eamnp39hfq"></icon> </span> </span> </div> <span class="review-card__rating"> 5/5 </span> <span class="review-card__date"> July 20, 2023 </span> </div> <div class="review-card__text"> course is good and i completed it still i am not able to download certificates </div> <div class="review-card__centered-row review-card__actions"> <a class="review-card__centered-row review-card__action-button" aria-label="Rahul Singh’s comment is helpful" data-tracking-control-name="learning-course_review-card-helpful-button" data-tracking-will-navigate href="https://www.linkedin.com/learning-login/?redirect=https%3A%2F%2Fwww%2Elinkedin%2Ecom%2Flearning%2Fspring-spring-mvc-2%3Ftrk%3Dcourse_title%26trk%3Dcourse_title&trk=learning-course_review-card-helpful-button" rel="nofollow"> <icon class="review-card__centered-row review-card__action-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/5ptx189gjbxrh9wf3ncsehms9" data-svg-class-name="review-card__like-icon"></icon> Helpful </a> <span class="review-card__dot-delimiter">·</span> <a class="review-card__centered-row review-card__action-button" aria-label="Report Rahul Singh’s comment" data-tracking-control-name="learning-course_review-card-report-button" data-tracking-will-navigate href="https://www.linkedin.com/learning-login/?redirect=https%3A%2F%2Fwww%2Elinkedin%2Ecom%2Flearning%2Fspring-spring-mvc-2%3Ftrk%3Dcourse_title%26trk%3Dcourse_title&trk=learning-course_review-card-report-button" rel="nofollow"> <icon class="review-card__centered-row review-card__action-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/d04ze1wt0ev8ck8e4ovqk762o" data-svg-class-name="review-card__flag-icon"></icon> Report </a> </div> </div> </div> </div> <!----> </div> </div> </li> </ul> </div> </section> </div> </section> <section class="right-rail papabear:w-right-rail-width papabear:ml-column-gutter mamabear:max-w-[790px] mamabear:px-mobile-container-padding babybear:max-w-[790px] babybear:px-mobile-container-padding"> <section class="table-of-contents mb-4 table-of-contents--with-max-height"> <h2 class="table-of-contents__header"> Contents </h2> <ul class="table-of-contents__list"> <li class="toc-section"> <div class="show-more-less"> <button class="show-more-less__button show-more-less__more-button show-more-less-button " aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> Introduction <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cyolgscd0imw2ldqppkrb84vo"></icon> </button> <button class="show-more-less__button show-more-less__less-button show-more-less-button show-more-less__button--hide" aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> Introduction <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/4chtt12k98xwnba1nimld2oyg"></icon> </button> <ul data-max-num-to-show="0" class="show-more-less__list show-more-less__list--hide-after-0" data-impression-id="learning-course_toc-section_show-more-less"> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/spring-mvc-for-robust-applications?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <icon class="table-of-contents__item-status table-of-contents__item-status--unlocked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/5jwhkytplzxiejvhzfu0t7m8l" data-svg-class-name="table-of-contents__item-status-svg--unlocked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Spring MVC for robust applications </div> <div class="table-of-contents__item-duration"> 1m 4s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/what-you-should-know?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <icon class="table-of-contents__item-status table-of-contents__item-status--unlocked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/5jwhkytplzxiejvhzfu0t7m8l" data-svg-class-name="table-of-contents__item-status-svg--unlocked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> What you should know </div> <div class="table-of-contents__item-duration"> 3m 19s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/exercise-files-and-the-demo-app?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <icon class="table-of-contents__item-status table-of-contents__item-status--unlocked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/5jwhkytplzxiejvhzfu0t7m8l" data-svg-class-name="table-of-contents__item-status-svg--unlocked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Exercise files and the demo app </div> <div class="table-of-contents__item-duration"> 25s </div> </div> </a> </li> </ul> <!----> </div> </li> <li class="toc-section"> <div class="show-more-less"> <button class="show-more-less__button show-more-less__more-button show-more-less-button " aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 1. Getting Started and Project Setup <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cyolgscd0imw2ldqppkrb84vo"></icon> </button> <button class="show-more-less__button show-more-less__less-button show-more-less-button show-more-less__button--hide" aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 1. Getting Started and Project Setup <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/4chtt12k98xwnba1nimld2oyg"></icon> </button> <ul data-max-num-to-show="0" class="show-more-less__list show-more-less__list--hide-after-0" data-impression-id="learning-course_toc-section_show-more-less"> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/why-use-spring-mvc?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Why use Spring MVC? </div> <div class="table-of-contents__item-duration"> 3m 42s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/features-of-spring-mvc?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Features of Spring MVC </div> <div class="table-of-contents__item-duration"> 3m 40s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/spring-mvc-architecture?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Spring MVC architecture </div> <div class="table-of-contents__item-duration"> 2m 7s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/create-maven-spring-mvc-project?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Create Maven Spring MVC project </div> <div class="table-of-contents__item-duration"> 3m 25s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/add-folders-and-static-files?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Add folders and static files </div> <div class="table-of-contents__item-duration"> 2m 27s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/java-configuration-for-spring-mvc?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Java configuration for Spring MVC </div> <div class="table-of-contents__item-duration"> 10m 9s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/add-controllers-and-test-the-application-2?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Add controllers and test the application </div> <div class="table-of-contents__item-duration"> 4m 59s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/generate-spring-mvc-project-with-spring-boot?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Generate Spring MVC project with Spring Boot </div> <div class="table-of-contents__item-duration"> 5m 13s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/add-static-files-and-view-resolver?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Add static files and view resolver </div> <div class="table-of-contents__item-duration"> 5m 3s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/add-controllers-and-test-the-application?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Add controllers and test the application </div> <div class="table-of-contents__item-duration"> 7m 14s </div> </div> </a> </li> </ul> <!----> </div> </li> <li class="toc-section"> <div class="show-more-less"> <button class="show-more-less__button show-more-less__more-button show-more-less-button " aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 2. Implementing Controller Flows <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cyolgscd0imw2ldqppkrb84vo"></icon> </button> <button class="show-more-less__button show-more-less__less-button show-more-less-button show-more-less__button--hide" aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 2. Implementing Controller Flows <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/4chtt12k98xwnba1nimld2oyg"></icon> </button> <ul data-max-num-to-show="0" class="show-more-less__list show-more-less__list--hide-after-0" data-impression-id="learning-course_toc-section_show-more-less"> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/basic-annotations-for-controllers?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Basic annotations for controllers </div> <div class="table-of-contents__item-duration"> 4m 20s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/create-a-controller-with-request-mapping?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Create a controller with request mapping </div> <div class="table-of-contents__item-duration"> 4m </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/requestparam-in-controller?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> @RequestParam in Controller </div> <div class="table-of-contents__item-duration"> 5m 37s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/add-database-code?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Add database code </div> <div class="table-of-contents__item-duration"> 3m 7s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/access-data-from-model?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Access data from Model </div> <div class="table-of-contents__item-duration"> 8m 15s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/modelattribute-add-jsp-pages?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> @ModelAttribute: Add JSP pages </div> <div class="table-of-contents__item-duration"> 4m 55s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/modelattribute-access-model-attributes-on-jsp?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> @ModelAttribute: Access model attributes on JSP </div> <div class="table-of-contents__item-duration"> 6m 7s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/modelattribute-add-spring-form-tag-library?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> @ModelAttribute: Add Spring form tag library </div> <div class="table-of-contents__item-duration"> 5m 15s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/test-the-application?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Test the application </div> <div class="table-of-contents__item-duration"> 6m 37s </div> </div> </a> </li> </ul> <!----> </div> </li> <li class="toc-section"> <div class="show-more-less"> <button class="show-more-less__button show-more-less__more-button show-more-less-button " aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 3. Data Validation and Binding <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cyolgscd0imw2ldqppkrb84vo"></icon> </button> <button class="show-more-less__button show-more-less__less-button show-more-less-button show-more-less__button--hide" aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 3. Data Validation and Binding <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/4chtt12k98xwnba1nimld2oyg"></icon> </button> <ul data-max-num-to-show="0" class="show-more-less__list show-more-less__list--hide-after-0" data-impression-id="learning-course_toc-section_show-more-less"> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/validating-data-in-models?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Validating data in models </div> <div class="table-of-contents__item-duration"> 2m 26s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/add-validations-to-user-bean?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Add validations to user bean </div> <div class="table-of-contents__item-duration"> 6m 56s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/spring-tags-for-errors?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Spring tags for errors </div> <div class="table-of-contents__item-duration"> 3m 45s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/localizing-error-messages?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Localizing error messages </div> <div class="table-of-contents__item-duration"> 3m 58s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/binders-overview?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Binders overview </div> <div class="table-of-contents__item-duration"> 2m 1s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/binders-demo?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Binders demo </div> <div class="table-of-contents__item-duration"> 6m 43s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/convertors-overview?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Convertors overview </div> <div class="table-of-contents__item-duration"> 1m 43s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/convertors-demo?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Convertors demo </div> <div class="table-of-contents__item-duration"> 7m 40s </div> </div> </a> </li> </ul> <!----> </div> </li> <li class="toc-section"> <div class="show-more-less"> <button class="show-more-less__button show-more-less__more-button show-more-less-button " aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 4. Exception Handling <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cyolgscd0imw2ldqppkrb84vo"></icon> </button> <button class="show-more-less__button show-more-less__less-button show-more-less-button show-more-less__button--hide" aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 4. Exception Handling <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/4chtt12k98xwnba1nimld2oyg"></icon> </button> <ul data-max-num-to-show="0" class="show-more-less__list show-more-less__list--hide-after-0" data-impression-id="learning-course_toc-section_show-more-less"> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/dispatcherservlet-and-special-bean-types?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> DispatcherServlet and special bean types </div> <div class="table-of-contents__item-duration"> 3m 12s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/exception-flow-handler-implementations?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Exception flow handler implementations </div> <div class="table-of-contents__item-duration"> 4m 33s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/custom-error-page-and-login-controller?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Custom error page and Login controller </div> <div class="table-of-contents__item-duration"> 4m 1s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/add-method-for-selecting-a-user?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Add method for selecting a user </div> <div class="table-of-contents__item-duration"> 5m 51s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/add-exception-handler-in-controller?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Add exception handler in Controller </div> <div class="table-of-contents__item-duration"> 6m 28s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/global-exception-handler-for-application?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Global exception handler for application </div> <div class="table-of-contents__item-duration"> 4m 52s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/default-model-attributes-using-controlleradvice?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Default model attributes using @ControllerAdvice </div> <div class="table-of-contents__item-duration"> 4m 27s </div> </div> </a> </li> </ul> <!----> </div> </li> <li class="toc-section"> <div class="show-more-less"> <button class="show-more-less__button show-more-less__more-button show-more-less-button " aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 5. Async Request Processing <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cyolgscd0imw2ldqppkrb84vo"></icon> </button> <button class="show-more-less__button show-more-less__less-button show-more-less-button show-more-less__button--hide" aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 5. Async Request Processing <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/4chtt12k98xwnba1nimld2oyg"></icon> </button> <ul data-max-num-to-show="0" class="show-more-less__list show-more-less__list--hide-after-0" data-impression-id="learning-course_toc-section_show-more-less"> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/conventional-http-request-processing?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Conventional HTTP request processing </div> <div class="table-of-contents__item-duration"> 2m 19s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/spring-mvc-async-processing-under-the-hood?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Spring MVC async processing under the hood </div> <div class="table-of-contents__item-duration"> 3m 6s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/async-configuration?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Async configuration </div> <div class="table-of-contents__item-duration"> 5m 13s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/return-callable-in-controller?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Return callable in Controller </div> <div class="table-of-contents__item-duration"> 6m 13s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/deferredresult-implementation-for-async?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> DeferredResult implementation for async </div> <div class="table-of-contents__item-duration"> 8m 27s </div> </div> </a> </li> </ul> <!----> </div> </li> <li class="toc-section"> <div class="show-more-less"> <button class="show-more-less__button show-more-less__more-button show-more-less-button " aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 6. View Resolvers <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cyolgscd0imw2ldqppkrb84vo"></icon> </button> <button class="show-more-less__button show-more-less__less-button show-more-less-button show-more-less__button--hide" aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 6. View Resolvers <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/4chtt12k98xwnba1nimld2oyg"></icon> </button> <ul data-max-num-to-show="0" class="show-more-less__list show-more-less__list--hide-after-0" data-impression-id="learning-course_toc-section_show-more-less"> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/what-are-view-resolvers?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> What are view resolvers? </div> <div class="table-of-contents__item-duration"> 3m 41s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/using-xmlviewresolver?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Using XmlViewResolver </div> <div class="table-of-contents__item-duration"> 7m 54s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/using-resourcebundleviewresolver?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Using ResourceBundleViewResolver </div> <div class="table-of-contents__item-duration"> 4m 24s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/chaining-view-resolvers?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Chaining view resolvers </div> <div class="table-of-contents__item-duration"> 1m 52s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/chaining-view-resolvers-demo?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Chaining view resolvers demo </div> <div class="table-of-contents__item-duration"> 4m 39s </div> </div> </a> </li> </ul> <!----> </div> </li> <li class="toc-section"> <div class="show-more-less"> <button class="show-more-less__button show-more-less__more-button show-more-less-button " aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 7. Interceptors and Themes <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cyolgscd0imw2ldqppkrb84vo"></icon> </button> <button class="show-more-less__button show-more-less__less-button show-more-less-button show-more-less__button--hide" aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 7. Interceptors and Themes <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/4chtt12k98xwnba1nimld2oyg"></icon> </button> <ul data-max-num-to-show="0" class="show-more-less__list show-more-less__list--hide-after-0" data-impression-id="learning-course_toc-section_show-more-less"> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/introduction-to-interceptors?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Introduction to interceptors </div> <div class="table-of-contents__item-duration"> 3m 28s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/built-in-and-custom-interceptors?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Built-in and custom interceptors </div> <div class="table-of-contents__item-duration"> 2m 45s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/add-interceptor-class?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Add interceptor class </div> <div class="table-of-contents__item-duration"> 5m 45s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/register-interceptors?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Register interceptors </div> <div class="table-of-contents__item-duration"> 3m 17s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/request-and-session-attributes?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Request and session attributes </div> <div class="table-of-contents__item-duration"> 1m 57s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/save-and-get-sessionattributes-demo?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Save and get SessionAttributes demo </div> <div class="table-of-contents__item-duration"> 6m 47s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/test-session-flow-and-implement-forwarding?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Test session flow and implement forwarding </div> <div class="table-of-contents__item-duration"> 7m 37s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/end-httpsession?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> End HttpSession </div> <div class="table-of-contents__item-duration"> 8m 33s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/redirecting-outside-an-application?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Redirecting outside an application </div> <div class="table-of-contents__item-duration"> 3m 40s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/introduction-to-themes?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Introduction to themes </div> <div class="table-of-contents__item-duration"> 1m 48s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/define-themes-and-theme-resolver?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Define themes and theme resolver </div> <div class="table-of-contents__item-duration"> 4m 18s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/define-themechangeinterceptor?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Define ThemeChangeInterceptor </div> <div class="table-of-contents__item-duration"> 6m 38s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/pick-themes-on-jsps?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Pick themes on JSPs </div> <div class="table-of-contents__item-duration"> 2m 37s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/introduction-to-l10n-and-i18n?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Introduction to l10n and i18n </div> <div class="table-of-contents__item-duration"> 3m </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/automatic-locale-resolution-demo?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Automatic locale resolution demo </div> <div class="table-of-contents__item-duration"> 9m 55s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/cookielocaleresolver-and-interceptor-for-l10n-and-i18n?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> CookieLocaleResolver and interceptor for l10n and i18n </div> <div class="table-of-contents__item-duration"> 5m 37s </div> </div> </a> </li> </ul> <!----> </div> </li> <li class="toc-section"> <div class="show-more-less"> <button class="show-more-less__button show-more-less__more-button show-more-less-button " aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 8. Spring MVC REST Controllers <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cyolgscd0imw2ldqppkrb84vo"></icon> </button> <button class="show-more-less__button show-more-less__less-button show-more-less-button show-more-less__button--hide" aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> 8. Spring MVC REST Controllers <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/4chtt12k98xwnba1nimld2oyg"></icon> </button> <ul data-max-num-to-show="0" class="show-more-less__list show-more-less__list--hide-after-0" data-impression-id="learning-course_toc-section_show-more-less"> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/restful-services-recap?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> RESTful services recap </div> <div class="table-of-contents__item-duration"> 5m 19s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/use-controller-and-responsebody?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Use @Controller and @ResponseBody </div> <div class="table-of-contents__item-duration"> 5m 14s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/use-requestcontroller-and-responseentity?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Use @RequestController and @ResponseEntity </div> <div class="table-of-contents__item-duration"> 4m 27s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/use-pathvariable-and-requestparam-to-get-request-payload?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Use @PathVariable and @RequestParam to get request payload </div> <div class="table-of-contents__item-duration"> 3m 51s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/use-requestbody-and-responseentity?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Use @RequestBody and @ResponseEntity </div> <div class="table-of-contents__item-duration"> 5m 18s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/use-exceptionhandler?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Use @ExceptionHandler </div> <div class="table-of-contents__item-duration"> 3m 27s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/testing-the-exceptionhandler-with-the-responseentity?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Testing the @ExceptionHandler with the @ResponseEntity </div> <div class="table-of-contents__item-duration"> 5m 35s </div> </div> </a> </li> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/mvc-vs-rest-controllers?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> MVC vs. REST controllers </div> <div class="table-of-contents__item-duration"> 1m 22s </div> </div> </a> </li> </ul> <!----> </div> </li> <li class="toc-section"> <div class="show-more-less"> <button class="show-more-less__button show-more-less__more-button show-more-less-button " aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> Conclusion <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cyolgscd0imw2ldqppkrb84vo"></icon> </button> <button class="show-more-less__button show-more-less__less-button show-more-less-button show-more-less__button--hide" aria-expanded="false" data-tracking-control-name="learning-course_toc-section_show_more"> Conclusion <icon class="show-more-less__button--chevron show-more-less-button-icon" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/4chtt12k98xwnba1nimld2oyg"></icon> </button> <ul data-max-num-to-show="0" class="show-more-less__list show-more-less__list--hide-after-0" data-impression-id="learning-course_toc-section_show-more-less"> <li class="toc-item"> <a data-tracking-control-name="learning-course_tocItem" data-tracking-will-navigate href="https://www.linkedin.com/learning/spring-spring-mvc-2/next-steps?autoplay=true&trk=learning-course_tocItem" class="toc-item__link" aria-current="false"> <span class="a11y-text">(Locked)</span> <icon class="table-of-contents__item-status table-of-contents__item-status--locked" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cfu0devb5o77ym5x8vv0oilfz" data-svg-class-name="table-of-contents__item-status-svg--locked"></icon> <div class="table-of-contents__item-details"> <div class="table-of-contents__item-title"> Next steps </div> <div class="table-of-contents__item-duration"> 43s </div> </div> </a> </li> </ul> <!----> </div> </li> </ul> </section> <section class="aside-section-container mb-4 subscription-value-props-aside-section"> <h2 class="aside-section-container__title section-title"> What’s included </h2> <!----> <div class="aside-section-container__content break-words"> <ul> <li class="subscription-value-props-aside-section__list-item"> <span class="subscription-value-props-aside-section__value-prop-label">Practice while you learn</span> <span class="subscription-value-props-aside-section__value-prop-sublabel">1 exercise file</span> </li> <li class="subscription-value-props-aside-section__list-item"> <span class="subscription-value-props-aside-section__value-prop-label">Test your knowledge</span> <span class="subscription-value-props-aside-section__value-prop-sublabel">8 quizzes</span> </li> <li class="subscription-value-props-aside-section__list-item"> <span class="subscription-value-props-aside-section__value-prop-label">Learn on the go</span> <span class="subscription-value-props-aside-section__value-prop-sublabel">Access on tablet and phone</span> </li> <!----> </ul> </div> </section> <section class="aside-section-container mb-4 similar-courses-aside-section"> <h2 class="aside-section-container__title section-title"> Similar courses </h2> <!----> <div class="aside-section-container__content break-words"> <ul> <li> <!----> <a href="https://www.linkedin.com/learning/spring-messaging-with-jms?trk=learning-course_similar-courses" target="_self" data-tracking-control-name="learning-course_similar-courses" data-tracking-will-navigate class="base-card relative w-full hover:no-underline focus:no-underline base-card--link base-aside-card flex my-1.5 hover:show-play-button focus:show-play-button base-aside-card--link aside-learning-course-card"> <!----> <div class="base-aside-card__media flex-shrink-0 mr-0.5 overflow-hidden relative h-[54px] w-[95px] "> <img class="base-aside-card__media-element w-[100px] h-full object-cover" alt data-delayed-url="https://media.licdn.com/dms/image/v2/C4E0DAQE3PtmmHWcFAg/learning-public-crop_144_256/learning-public-crop_144_256/0/1567117877567?e=2147483647&v=beta&t=dlGw0vXS22fl_gZnYw0nl5AvBwPho7Lfty9voAM-l9E"> <div class="aside-learning-course-card__duration duration">2h 21m</div> <icon class="base-aside-card__play-button w-auto play-button overlay-center" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/9n9raq7fmdu241tpsxwodsmcd" data-svg-class-name="base-aside-card__play-button-svg"></icon> </div> <div class="base-aside-card__info self-center pl-0.5 flex flex-col flex-1"> <h3 class="base-aside-card__title font-sans text-md font-bold text-color-text relative"> Spring: Messaging with JMS <!----> </h3> <!----> <!----> <!----> <!----> <!----> </div> <!----> </a> </li> </ul> </div> </section> <section class="aside-section-container mb-4"> <h2 class="aside-section-container__title section-title"> Download courses </h2> <!----> <div class="aside-section-container__content break-words"> <p>Use your iOS or Android LinkedIn Learning app, and watch courses on your mobile device without an internet connection.</p> <div class="app-links-aside-section__link-container"> <a class="app-links-aside-section__link" href="https://itunes.apple.com/app/apple-store/id1084807225?ls=1&pt=10746&mt=8&ct=learning_course_app_links&trk=learning-course_apple-app-store" data-tracking-control-name="learning-course_apple-app-store" data-tracking-will-navigate rel="noopener noreferrer" target="_blank"> <img alt="Download on the App Store" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/emczv26hz24woii2j4aleyry" height="42px" width="142px"> </a> <a class="app-links-aside-section__link" href="https://play.google.com/store/apps/details?id=com.linkedin.android.learning&referrer=utm_source%3Dlinkedinlearning%26utm_medium%3DmobileWeb%26utm_campaign%3Dlearning_guest&ct=learning_course_app_links&trk=learning-course_google-play-store" data-tracking-control-name="learning-course_google-play-store" data-tracking-will-navigate rel="noopener noreferrer" target="_blank"> <img alt="Get it on Google Play" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/535kqf5rsexfx0lucb3t6palb" height="42px" width="142px"> </a> </div> </div> </section> </section> </main> <div class="pre-footer "> <section class="core-section-container my-3 price-disclaimer"> <!----> <!----> <!----> <div class="core-section-container__content break-words"> <p class="price-disclaimer__copy"> <sup class="price-disclaimer__copy--sup">*</sup>Price may change based on profile and billing country information entered during Sign In or Registration </p> </div> </section> <section class="tw-linkster bg-cool-gray-20 browse-map" data-impression-id="learning-course_linkster" data-js-module-id="linkster"> <div class="max-w-screen-content-max-w w-full flex justify-between my-0 mx-auto mamabear:px-3 babybear:px-2 babybear:flex-col"> <div class="flex-1 w-1/2 pt-2 pr-4 pb-4 pl-0 babybear:pb-2 babybear:w-full babybear:border-b-1 babybear:border-solid babybear:border-color-border-low-emphasis babybear:last:border-b-0"> <h3 class="text-md font-bold text-color-text leading-open"> Explore Business Topics </h3> <ul class="my-1"> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/business-analysis-and-strategy?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Business Analysis and Strategy </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/business-software-and-tools?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Business Software and Tools </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/career-development-5?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Career Development </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/customer-service-3?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Customer Service </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/diversity-equity-and-inclusion-dei?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Diversity, Equity, and Inclusion (DEI) </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/finance-and-accounting?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Finance and Accounting </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/human-resources-3?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Human Resources </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/leadership-and-management?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Leadership and Management </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/marketing-2?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Marketing </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/professional-development?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Professional Development </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/project-management?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Project Management </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/sales-3?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Sales </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/small-business-and-entrepreneurship?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Small Business and Entrepreneurship </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/training-and-education?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Training and Education </a> </li> </ul> <a class="link tw-linkster-general-link" aria-label="See all business courses" href="https://www.linkedin.com/learning/topics/business?trk=learning-course_browsemap_general-link" data-tracking-control-name="learning-course_browsemap_general-link" data-tracking-will-navigate> See all </a> </div> <div class="flex-1 w-1/2 pt-2 pr-4 pb-4 pl-0 babybear:pb-2 babybear:w-full babybear:border-b-1 babybear:border-solid babybear:border-color-border-low-emphasis babybear:last:border-b-0"> <h3 class="text-md font-bold text-color-text leading-open"> Explore Creative Topics </h3> <ul class="my-1"> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/aec?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> AEC </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/animation-and-illustration?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Animation and Illustration </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/audio-and-music?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Audio and Music </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/graphic-design?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Graphic Design </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/motion-graphics-and-vfx?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Motion Graphics and VFX </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/photography-2?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Photography </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/product-and-manufacturing?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Product and Manufacturing </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/user-experience?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> User Experience </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/2015-54?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Video </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/visualization-and-real-time?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Visualization and Real-Time </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/web-design?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Web Design </a> </li> </ul> <a class="link tw-linkster-general-link" aria-label="See all creative courses" href="https://www.linkedin.com/learning/topics/creative?trk=learning-course_browsemap_general-link" data-tracking-control-name="learning-course_browsemap_general-link" data-tracking-will-navigate> See all </a> </div> <div class="flex-1 w-1/2 pt-2 pr-4 pb-4 pl-0 babybear:pb-2 babybear:w-full babybear:border-b-1 babybear:border-solid babybear:border-color-border-low-emphasis babybear:last:border-b-0"> <h3 class="text-md font-bold text-color-text leading-open"> Explore Technology Topics </h3> <ul class="my-1"> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/artificial-intelligence?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Artificial Intelligence (AI) </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/cloud-computing-5?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Cloud Computing </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/security-3?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Cybersecurity </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/data-science?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Data Science </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/database-management?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Database Management </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/devops?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> DevOps </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/hardware?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Hardware </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/it-help-desk-5?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> IT Help Desk </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/mobile-development?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Mobile Development </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/network-and-system-administration?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Network and System Administration </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/software-development?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Software Development </a> </li> <li class="tw-link-column-item"> <a class="link tw-linkster-link" href="https://www.linkedin.com/learning/topics/web-development?trk=learning-course_browsemap_link" data-js-module-id="link-column-link" data-tracking-control-name="learning-course_browsemap_link" data-tracking-will-navigate> Web Development </a> </li> </ul> <a class="link tw-linkster-general-link" aria-label="See all technology courses" href="https://www.linkedin.com/learning/topics/technology?trk=learning-course_browsemap_general-link" data-tracking-control-name="learning-course_browsemap_general-link" data-tracking-will-navigate> See all </a> </div> </div> </section> </div> <footer class="li-footer bg-transparent w-full "> <ul class="li-footer__list flex flex-wrap flex-row items-start justify-start w-full h-auto min-h-[50px] my-[0px] mx-auto py-3 px-2 papabear:w-[1128px] papabear:p-0"> <li class="li-footer__item font-sans text-xs text-color-text-low-emphasis flex flex-shrink-0 justify-start p-1 relative w-50% papabear:justify-center papabear:w-auto"> <span class="sr-only">LinkedIn</span> <icon class="li-footer__copy-logo text-color-logo-brand-alt inline-block self-center h-[14px] w-[56px] mr-1" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/e12h2cd8ac580qen9qdd0qks8"></icon> <span class="li-footer__copy-text flex items-center">© 2024</span> </li> <li class="li-footer__item font-sans text-xs text-color-text-low-emphasis flex flex-shrink-0 justify-start p-1 relative w-50% papabear:justify-center papabear:w-auto"> <a class="li-footer__item-link flex items-center font-sans text-xs font-bold text-color-text-low-emphasis hover:text-color-link-hover focus:text-color-link-focus" href="https://about.linkedin.com?trk=d_learning_course_guest_footer-about" data-tracking-control-name="d_learning_course_guest_footer-about" data-tracking-will-navigate> About </a> </li> <li class="li-footer__item font-sans text-xs text-color-text-low-emphasis flex flex-shrink-0 justify-start p-1 relative w-50% papabear:justify-center papabear:w-auto"> <a class="li-footer__item-link flex items-center font-sans text-xs font-bold text-color-text-low-emphasis hover:text-color-link-hover focus:text-color-link-focus" href="https://www.linkedin.com/accessibility?trk=d_learning_course_guest_footer-accessibility" data-tracking-control-name="d_learning_course_guest_footer-accessibility" data-tracking-will-navigate> Accessibility </a> </li> <li class="li-footer__item font-sans text-xs text-color-text-low-emphasis flex flex-shrink-0 justify-start p-1 relative w-50% papabear:justify-center papabear:w-auto"> <a class="li-footer__item-link flex items-center font-sans text-xs font-bold text-color-text-low-emphasis hover:text-color-link-hover focus:text-color-link-focus" href="https://www.linkedin.com/legal/user-agreement?trk=d_learning_course_guest_footer-user-agreement" data-tracking-control-name="d_learning_course_guest_footer-user-agreement" data-tracking-will-navigate> User Agreement </a> </li> <li class="li-footer__item font-sans text-xs text-color-text-low-emphasis flex flex-shrink-0 justify-start p-1 relative w-50% papabear:justify-center papabear:w-auto"> <a class="li-footer__item-link flex items-center font-sans text-xs font-bold text-color-text-low-emphasis hover:text-color-link-hover focus:text-color-link-focus" href="https://www.linkedin.com/legal/privacy-policy?trk=d_learning_course_guest_footer-privacy-policy" data-tracking-control-name="d_learning_course_guest_footer-privacy-policy" data-tracking-will-navigate> Privacy Policy </a> </li> <!----> <li class="li-footer__item font-sans text-xs text-color-text-low-emphasis flex flex-shrink-0 justify-start p-1 relative w-50% papabear:justify-center papabear:w-auto"> <a class="li-footer__item-link flex items-center font-sans text-xs font-bold text-color-text-low-emphasis hover:text-color-link-hover focus:text-color-link-focus" href="https://www.linkedin.com/legal/cookie-policy?trk=d_learning_course_guest_footer-cookie-policy" data-tracking-control-name="d_learning_course_guest_footer-cookie-policy" data-tracking-will-navigate> Cookie Policy </a> </li> <li class="li-footer__item font-sans text-xs text-color-text-low-emphasis flex flex-shrink-0 justify-start p-1 relative w-50% papabear:justify-center papabear:w-auto"> <a class="li-footer__item-link flex items-center font-sans text-xs font-bold text-color-text-low-emphasis hover:text-color-link-hover focus:text-color-link-focus" href="https://www.linkedin.com/legal/copyright-policy?trk=d_learning_course_guest_footer-copyright-policy" data-tracking-control-name="d_learning_course_guest_footer-copyright-policy" data-tracking-will-navigate> Copyright Policy </a> </li> <li class="li-footer__item font-sans text-xs text-color-text-low-emphasis flex flex-shrink-0 justify-start p-1 relative w-50% papabear:justify-center papabear:w-auto"> <a class="li-footer__item-link flex items-center font-sans text-xs font-bold text-color-text-low-emphasis hover:text-color-link-hover focus:text-color-link-focus" href="https://brand.linkedin.com/policies?trk=d_learning_course_guest_footer-brand-policy" data-tracking-control-name="d_learning_course_guest_footer-brand-policy" data-tracking-will-navigate> Brand Policy </a> </li> <li class="li-footer__item font-sans text-xs text-color-text-low-emphasis flex flex-shrink-0 justify-start p-1 relative w-50% papabear:justify-center papabear:w-auto"> <a class="li-footer__item-link flex items-center font-sans text-xs font-bold text-color-text-low-emphasis hover:text-color-link-hover focus:text-color-link-focus" href="https://www.linkedin.com/psettings/guest-controls?trk=d_learning_course_guest_footer-guest-controls" data-tracking-control-name="d_learning_course_guest_footer-guest-controls" data-tracking-will-navigate> Guest Controls </a> </li> <li class="li-footer__item font-sans text-xs text-color-text-low-emphasis flex flex-shrink-0 justify-start p-1 relative w-50% papabear:justify-center papabear:w-auto"> <a class="li-footer__item-link flex items-center font-sans text-xs font-bold text-color-text-low-emphasis hover:text-color-link-hover focus:text-color-link-focus" href="https://www.linkedin.com/legal/professional-community-policies?trk=d_learning_course_guest_footer-community-guide" data-tracking-control-name="d_learning_course_guest_footer-community-guide" data-tracking-will-navigate> Community Guidelines </a> </li> <!----> <li class="li-footer__item font-sans text-xs text-color-text-low-emphasis flex flex-shrink-0 justify-start p-1 relative w-50% papabear:justify-center papabear:w-auto"> <div class="collapsible-dropdown collapsible-dropdown--footer collapsible-dropdown--up flex items-center relative hyphens-auto language-selector z-2"> <!----> <ul class="collapsible-dropdown__list hidden container-raised absolute w-auto overflow-y-auto flex-col items-stretch z-1 bottom-[100%] top-auto" role="menu" tabindex="-1"> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="العربية (Arabic)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-ar_AE" data-locale="ar_AE" role="menuitem" lang="ar_AE"> العربية (Arabic) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="বাংলা (Bangla)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-bn_IN" data-locale="bn_IN" role="menuitem" lang="bn_IN"> বাংলা (Bangla) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Čeština (Czech)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-cs_CZ" data-locale="cs_CZ" role="menuitem" lang="cs_CZ"> Čeština (Czech) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Dansk (Danish)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-da_DK" data-locale="da_DK" role="menuitem" lang="da_DK"> Dansk (Danish) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Deutsch (German)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-de_DE" data-locale="de_DE" role="menuitem" lang="de_DE"> Deutsch (German) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Ελληνικά (Greek)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-el_GR" data-locale="el_GR" role="menuitem" lang="el_GR"> Ελληνικά (Greek) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="English (English) selected" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link--selected" data-tracking-control-name="language-selector-en_US" data-locale="en_US" role="menuitem" lang="en_US"> <strong>English (English)</strong> </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Español (Spanish)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-es_ES" data-locale="es_ES" role="menuitem" lang="es_ES"> Español (Spanish) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="فارسی (Persian)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-fa_IR" data-locale="fa_IR" role="menuitem" lang="fa_IR"> فارسی (Persian) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Suomi (Finnish)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-fi_FI" data-locale="fi_FI" role="menuitem" lang="fi_FI"> Suomi (Finnish) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Français (French)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-fr_FR" data-locale="fr_FR" role="menuitem" lang="fr_FR"> Français (French) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="हिंदी (Hindi)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-hi_IN" data-locale="hi_IN" role="menuitem" lang="hi_IN"> हिंदी (Hindi) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Magyar (Hungarian)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-hu_HU" data-locale="hu_HU" role="menuitem" lang="hu_HU"> Magyar (Hungarian) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Bahasa Indonesia (Indonesian)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-in_ID" data-locale="in_ID" role="menuitem" lang="in_ID"> Bahasa Indonesia (Indonesian) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Italiano (Italian)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-it_IT" data-locale="it_IT" role="menuitem" lang="it_IT"> Italiano (Italian) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="עברית (Hebrew)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-iw_IL" data-locale="iw_IL" role="menuitem" lang="iw_IL"> עברית (Hebrew) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="日本語 (Japanese)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-ja_JP" data-locale="ja_JP" role="menuitem" lang="ja_JP"> 日本語 (Japanese) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="한국어 (Korean)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-ko_KR" data-locale="ko_KR" role="menuitem" lang="ko_KR"> 한국어 (Korean) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="मराठी (Marathi)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-mr_IN" data-locale="mr_IN" role="menuitem" lang="mr_IN"> मराठी (Marathi) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Bahasa Malaysia (Malay)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-ms_MY" data-locale="ms_MY" role="menuitem" lang="ms_MY"> Bahasa Malaysia (Malay) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Nederlands (Dutch)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-nl_NL" data-locale="nl_NL" role="menuitem" lang="nl_NL"> Nederlands (Dutch) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Norsk (Norwegian)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-no_NO" data-locale="no_NO" role="menuitem" lang="no_NO"> Norsk (Norwegian) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="ਪੰਜਾਬੀ (Punjabi)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-pa_IN" data-locale="pa_IN" role="menuitem" lang="pa_IN"> ਪੰਜਾਬੀ (Punjabi) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Polski (Polish)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-pl_PL" data-locale="pl_PL" role="menuitem" lang="pl_PL"> Polski (Polish) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Português (Portuguese)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-pt_BR" data-locale="pt_BR" role="menuitem" lang="pt_BR"> Português (Portuguese) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Română (Romanian)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-ro_RO" data-locale="ro_RO" role="menuitem" lang="ro_RO"> Română (Romanian) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Русский (Russian)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-ru_RU" data-locale="ru_RU" role="menuitem" lang="ru_RU"> Русский (Russian) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Svenska (Swedish)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-sv_SE" data-locale="sv_SE" role="menuitem" lang="sv_SE"> Svenska (Swedish) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="తెలుగు (Telugu)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-te_IN" data-locale="te_IN" role="menuitem" lang="te_IN"> తెలుగు (Telugu) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="ภาษาไทย (Thai)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-th_TH" data-locale="th_TH" role="menuitem" lang="th_TH"> ภาษาไทย (Thai) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Tagalog (Tagalog)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-tl_PH" data-locale="tl_PH" role="menuitem" lang="tl_PH"> Tagalog (Tagalog) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Türkçe (Turkish)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-tr_TR" data-locale="tr_TR" role="menuitem" lang="tr_TR"> Türkçe (Turkish) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Українська (Ukrainian)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-uk_UA" data-locale="uk_UA" role="menuitem" lang="uk_UA"> Українська (Ukrainian) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="Tiếng Việt (Vietnamese)" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-vi_VN" data-locale="vi_VN" role="menuitem" lang="vi_VN"> Tiếng Việt (Vietnamese) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="简体中文 (Chinese (Simplified))" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-zh_CN" data-locale="zh_CN" role="menuitem" lang="zh_CN"> 简体中文 (Chinese (Simplified)) </button> </li> <li class="language-selector__item" role="presentation"> <!-- Adding aria-label to both the li and the button because screen reader focus goes to button on desktop and li on mobile--> <button aria-label="正體中文 (Chinese (Traditional))" class="font-sans text-xs link block py-[5px] px-2 w-full hover:cursor-pointer hover:bg-color-action hover:text-color-text-on-dark focus:bg-color-action focus:text-color-text-on-dark language-selector__link !font-regular" data-tracking-control-name="language-selector-zh_TW" data-locale="zh_TW" role="menuitem" lang="zh_TW"> 正體中文 (Chinese (Traditional)) </button> </li> <!----> </ul> <button class="language-selector__button select-none relative pr-2 font-sans text-xs font-bold text-color-text-low-emphasis hover:text-color-link-hover hover:cursor-pointer focus:text-color-link-focus focus:outline-dotted focus:outline-1" aria-expanded="false" data-tracking-control-name="footer-lang-dropdown_trigger"> <span class="language-selector__label-text mr-0.5 break-words"> Language </span> <icon class="language-selector__label-chevron w-2 h-2 absolute top-0 right-0" data-delayed-url="https://static.licdn.com/aero-v1/sc/h/cyolgscd0imw2ldqppkrb84vo"></icon> </button> </div> </li> </ul> <!----> </footer> <script src="https://static.licdn.com/aero-v1/sc/h/eh08muqvrde4h3hc6koyij5ti" async></script> <!----> <script src="https://static.licdn.com/aero-v1/sc/h/awgwgu3fg49q0tcvd24ku87qq" async defer></script> <script data-delayed-url="https://static.licdn.com/aero-v1/sc/h/81wy0f4hfrhoilx9eqdwg202z" data-module-id="media-player"></script> <code id="trackingData" style="display: none"><!--{"hashedCourseId":"5q9VT/2KG1rZxjcpJn70qjU8a1Wl22ODVoixfRwDI6M=","urn":"urn:li:lyndaCourse:2804074","totalPrice":{"currencyCode":"HKD","amount":"349.99"}}--></code> <code id="alcOnlyData" style="display: none"><!--{"isAlcOnly":false,"canPurchaseCourse":true}--></code> </body> </html>