今天的说说这个问题,把我整的够惨的,一直没明白,可能是没理解Servlet。
问题是这样的:
前提是一个servlet怎么到一个action中。
开始的时候想在servlet中无非是就转发过去就好了 ,如::
RequestDispatcher dispatcher= request.getRequestDispatcher("/getupdateVersionfoByLimit.action");
dispatcher.forward(request, response);
但是无论路径怎么给定,永远都无法到达action中,后面请求一同学,他说:“servlet中调到Action中不可行,因为servlet是在web.xml中配置的,而Structs的Action是在拦截器中读取的,两个走的请求路线不同,在servlet中获取不到Action的映射关系,servlet是直接容器跳转的,而Action是拦截器跳转的”。我也不知道是不是。有大神可以解释一下。
后面用重定向试 了一下,就可以。代码如下:
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
response.sendRedirect(basePath+"getupdateVersionfoByLimit.action");
竟然可以,把我弄得纠结的,希望知道原理的能说说。