Servlet for serving static content

I came up with a slightly different solution. It’s a bit hack-ish, but here is the mapping: <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>myAppServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> This basically just maps all content files by extension to the default servlet, and … Read more

How to loop through a HashMap in JSP?

Just the same way as you would do in normal Java code. for (Map.Entry<String, String> entry : countries.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); // … } However, scriptlets (raw Java code in JSP files, those <% %> things) are considered a poor practice. I recommend to install JSTL (just drop the … Read more

What’s the difference between including files with JSP include directive, JSP include action and using JSP Tag Files?

Overview of JSP Syntax Elements First, to make things more clear, here is a short overview of JSP syntax elements: Directives: These convey information regarding the JSP page as a whole. Scripting elements: These are Java coding elements such as declarations, expressions, scriptlets, and comments. Objects and scopes: JSP objects can be created either explicitly … Read more

Redirect to an external URL from controller action in Spring MVC

You can do it with two ways. First: @RequestMapping(value = “/redirect”, method = RequestMethod.GET) public void method(HttpServletResponse httpServletResponse) { httpServletResponse.setHeader(“Location”, projectUrl); httpServletResponse.setStatus(302); } Second: @RequestMapping(value = “/redirect”, method = RequestMethod.GET) public ModelAndView method() { return new ModelAndView(“redirect:” + projectUrl); }

How to do if-else in Thymeleaf?

Thymeleaf has an equivalent to <c:choose> and <c:when>: the th:switch and th:case attributes introduced in Thymeleaf 2.0. They work as you’d expect, using * for the default case: <div th:switch=”${user.role}”> <p th:case=”‘admin'”>User is an administrator</p> <p th:case=”#{roles.manager}”>User is a manager</p> <p th:case=”*”>User is some other thing</p> </div> See this for a quick explanation of syntax … Read more

Include another JSP file

What you’re doing is a static include. A static include is resolved at compile time, and may thus not use a parameter value, which is only known at execution time. What you need is a dynamic include: <jsp:include page=”…” /> Note that you should use the JSP EL rather than scriptlets. It also seems that … Read more

How to install JSTL? The absolute uri: http://java.sun.com/jstl/core cannot be resolved

org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application That URI is for JSTL 1.0, but you’re actually using JSTL 1.2 which uses URIs with an additional /jsp path (because JSTL, who invented EL expressions, was since version 1.1 integrated as part of JSP 2.0 … Read more

How to get parameters from the URL with JSP

About the Implicit Objects of the Unified Expression Language, the Java EE 5 Tutorial writes: Implicit Objects The JSP expression language defines a set of implicit objects: pageContext: The context for the JSP page. Provides access to various objects including: servletContext: The context for the JSP page’s servlet and any web components contained in the … Read more

Java / Jakarta EE web development, where do I start and what skills do I need? [closed]

(Updated Apr 2021) First of all, “Java EE” has since Sep 2019 been renamed to “Jakarta EE“, starting with version 8. Historically, there was also the term “J2EE” which covered versions 1.2 until 1.4. The “Java EE” covered versions 5 until 8. See also Java Platform, Enterprise Edition, History on Wikipedia. What exactly do I … Read more