是的,又一个用java编写的URL缩短器,因为我想要我自己的,并且因为为什么不。目前一切正常,只是不是我想要的。简而言之,整个项目中只有一个servlet映射到“/”。没有涉及的框架,或任何幻想,这只是一个基本的Servlet“项目”。在doPost上创建一个新的shortUrl,并获得JSON响应。在doGet上,如果URL是“/ * {any_valid_short_url}”,则发送重定向(在下面)。Url Shortener重定向到index.html
response.sendRedirect("longUrlString")
我遇到的问题是与索引页,当相同的doGet被调用时,我检查请求的路径,如果是“/”,那么现在,我用一个FileInputStream和流中的index.html通过response.getOutputStream()进行页面输出,在我看来这很不好意思。我想使用requestDispatcher,但是当我尝试实现(下面)时,我进入了一个重定向循环,并且servlet容器(jetty或tomcat)堆栈溢出了。
getServletContext().getRequestDispatcher("/index.html").forward(req, res);
有什么,我误解了这是如何做的?该项目目前托管在我的github页面上。 https://github.com/justinmburrous/ShortUrl
什么是getServletContext()返回?你应该使用'req.getRequestDispatchter(...)' – 2013-03-04 19:32:57
糟糕...但仍然是由大量重定向导致的相同问题,堆栈溢出。 – 2013-03-04 21:47:58
请发送代码,您将获得RequestDispatcher。 – 2013-03-04 21:54:46