JSP Page
We keep only the main index.jsp page:<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!doctype html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;" charset=UTF-8">
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
</script>
<script type="text/javascript"
src="<c:url value='/resources/js/SomeJavascript.js'/>">
</script>
<title>Welcome To Spring Serving Static Resources !!!</title>
</head>
<body>
<h1>Spring - Serving Static Resources !!!</h1>
<img border="0"
src="<c:url value='/resources/img/MyArt.png'/>" alt="My Art" />
</body>
</html>
- We link JQuery from Google's CDN.
- We link our own SomeJavascript.js and make sure the URL is properly constructed.
- In the body, we add an image.
Resources
In the Spring project itself, we put all the resources under a separate resources directory which does not stand under WEB-INF.- Images are stored under /resources/img.
- Javascript is storted under /resources/js.
$(document).ready(function() {
alert("JS loaded successfully!");
});
Web Configuration & Controller
We need to modify our web configuration to add a static resource handler and configure it by specifying where to fetch these:@EnableWebMvc
@Configuration
@ComponentScan(basePackages = "com.jverstry")
public class WebConfig extends WebMvcConfigurerAdapter {
...
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry
.addResourceHandler("/resources/**")
.addResourceLocations("/resources/");
}
}
@Controller
public class MyController {
@RequestMapping(value = "/")
public String home(Model model) {
return "index";
}
}
Running The Example
Once compiled, the example can be run with mvn tomcat:run. Then, browse:http://localhost:8585/spring-serving-static-resources/
The image and the pop-up will be displayed:
More Spring related posts here.


No comments:
Post a Comment