每个servlet容器都有一个默认的servlet,一般都叫做default
<display-name>servletDefault</display-name>
<servlet>
<servlet-name>dummy</servlet-name>
<servlet-class>liulixin.DummyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dummy</servlet-name>
<url-pattern>/dummy</url-pattern>
</servlet-mapping>
<!-- 这种利用default servlet访问静态资源的方式在tomcat 6.0.30及以后版本中已经被禁用了 -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/static/index.html</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
package liulixin;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DummyServlet extends HttpServlet
{
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
System.out.println("it does come here");
final String resourcePath = request.getPathTranslated();
final String requestURI = request.getRequestURI();
System.out.println("resourcePath "+resourcePath);
System.out.println("URI "+requestURI);
//RequestDispatcher requestDispatcher=getServletContext().getNamedDispatcher("default6");
//上面这种写法报NullPointerException
RequestDispatcher requestDispatcher=getServletContext().getNamedDispatcher("default");
System.out.println(requestDispatcher==null);
requestDispatcher.forward(request, response);
}
}
输出:
it does come here
resourcePath null
URI /servletDefault/dummy
false
源代码:http://pan.baidu.com/share/link?shareid=1256152557&uk=3878681452