日期:2014-05-18  浏览次数:20745 次

高分:如何在servlet里得到默认目录
我的默认应用目录为   http://127.0.0.1/mytest   环境为tomcat5.0
然后写了个名为myClass   的servlet   (没有配置web.xml   用的是默认路径/servlet/myClass来运行servlet,比较快捷)

其中有个跳转   getServletContext().getRequestDispatcher( "/index1.jsp ").forward(request,response);     (不想用sendRedirect,因为会显示url)   我希望跳转的是:   http://127.0.0.1/mytest/index1.jsp
可是页面跳的却是http://127.0.0.1/mytest/servlet/index1.jsp
中间怎么会多了个servlet??这是怎么回事啊.高手看看。如何才能在servlet中用forward成功跳转啊??

用request.getPathInfo()和request.getContextPath()都不行啊!


------解决方案--------------------
可用以下试试
request.getRequestDispatcher( "index1.jsp ").forward(request,response);
------解决方案--------------------
public static String getRootPath() {
ServletContext servletContext = self.getServletContext();
return servletContext.getRealPath( "/ ");
}
------解决方案--------------------
getServletContext().getRequestDispatcher( "/../index1.jsp ").forward(request,response);
------解决方案--------------------
象这样
getServletContext().getRequestDispatcher
(request.getContextPath() "/index1.jsp ").forward(request,response);

你的路径不对,你是在servlet里面跳转的 默认路径是servlet