How to show user-friendly error page in browser when runtime exception is thrown by servlet?

Just declare an <error-page> in web.xml wherein you can specify the page which should be displayed on a certain Throwable (or any of its subclasses) or a HTTP status code. E.g. <error-page> <exception-type>java.lang.Exception</exception-type> <location>/error.jsp</location> </error-page> which will display the error page on any subclass of the java.lang.Exception, but thus not java.lang.Throwable or java.lang.Error. This way … Read more

How to output HTML from JSP block?

You can’t use the ‘out’ variable (nor any of the other “predeclared” scriptlet variables) inside directives. The JSP page gets translated by your webserver into a Java servlet. Inside tomcats, for instance, everything inside scriptlets (which start “<%”), along with all the static HTML, gets translated into one giant Java method which writes your page, … Read more

Ternary operator in JSTL/EL

I tested the following page in Tomcat 5.59, JSP 2.0 and JSTL 1.1. It ran without any errors. <%@taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c”%> <c:set var=”value” scope=”request” value=”someValue”/> <c:out default=”None” escapeXml=”true” value=”${not empty value ? value : ‘None’}” /> <c:out default=”None” escapeXml=”true” value=”${empty value ? ‘None’ : value}” /> <c:set var=”value” scope=”request” value=”” /> <br/> <c:out default=”None” escapeXml=”true” … Read more

Get request URL in JSP which is forwarded by Servlet

If you use RequestDispatcher.forward() to route the request from controller to the view, then request URI is exposed as a request attribute named javax.servlet.forward.request_uri. So, you can use request.getAttribute(“javax.servlet.forward.request_uri”) or ${requestScope[‘javax.servlet.forward.request_uri’]}

Eclipse RCP plugin + embedded Jetty + JSF

Take a look at setting a context in jetty. You can define it before start your server. public class OneWebApp { public static void main(String[] args) throws Exception { String jetty_home = System.getProperty(“jetty.home”,”..”); Server server = new Server(8080); WebAppContext webapp = new WebAppContext(); webapp.setContextPath(“https://stackoverflow.com/”); webapp.setWar(jetty_home+”/webapps/test.war”); server.setHandler(webapp); server.start(); server.join(); } }