i actually read a tutorial about servlets and i saw two different ways to include javascript in servlets.
out.println("<html><head>");
RequestDispatcher dispatcher = request.getRequestDispatcher(
"/WEB-INF/javascript/functions.js");
dispatcher.include(request, response);
out.println("<title>Client Forms</title></head><body>");
and the other possiblity:
out.println("<html><head>");
out.println("<script language="text/javascript" src="functions.js">");
...
what is the difference between using an dispatcher or including directly? what is the better solution?
thx for your advices..
<script language="text/javascript" src="functions.js">
In this case browser could cache script and it won't load on next page load if it's content haven't changed. Caching resources saves time on page load and network traffic. It doesn't matter whether you use this snippet in servlet or jsp.
By the way, there is a bug in your first way of including script. *.js files usually contain only javascript code, whithout markup, so you should add opening script tag before and closing script tag after including content of functions.js:
out.println("<script type='text/javascript'>");
RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/javascript/functions.js");
out.println("</script>");
When we use the RequestDispatcher
, we are actually making request from the server for the said JS file and then we embed it into the response document.
On the other hand, embedding a tag will point the browser to make such a request to the server. I guess both the approaches are going to fetch the same results 99% of time at least if your file is on different server.
On the other hand, if it is on the same server, I think RequestDispatcher will be faster.
Server side caching will help in first approach and client side one in other.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With