On clicking the link in your jsp, you should get directed to http://localhost:8080/DSWeb/servlet/UserLanguage (provided your index.jsp is in the DSWeb directory directory and not any of its sub-directories).
If all is right till now, then your request should be handled by the specified servlet "UserLanguage", which would forward your request to "index.jsp" with the url as: http://localhost:8080/DSWeb/servlet/index.jsp (since you are using a relative url).
This now is the root of your problem, since there is no index.jsp present there.
Had you specified a forward slash in your request-dispatcher like
it will forward to the valid index.jsp
Note: I am taking the deployment path in your web.xml of your servlet as "/servlet/UserLanguage".
Yes, I did use the / before index.jsp in the RequestDispatcher. When I first load the page with DSWeb/index.jsp it works fine. It's just when the page is redirected back to index.jsp from the servlet I have problems.
I tried something and it worked.
I changed this...
I am not sure why it works, but it does. If anyone can explain pathing and how I can make my paths full-proof, I would appreciate it.