本地获取的是正常的 !本地用的weblogic 部署的
部署到was上 服务器上获取就是少了index.jsp
这是我配置
这是我的目录树
感谢大神的提点
本地和打包之后的路径会变化的 如果要不变 放在static或者resource中
大概was给webapp挂了filter了,你换个方法拿拿看:
String path = request.getRequestURI().substring(request.getContextPath().length());
新增个回避方法看看:
<servlet>
<servlet-name>FileServlet</servlet-name>
<servlet-class>
com.ibm.ws.webcontainer.servlet.SimpleFileServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>FileServlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
或者你urlpattern不要用/*,只去map你感兴趣的模式
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
try {
HttpServletRequest request = (HttpServletRequest) servletRequest;
String url = request.getServletPath();
}
filterChain.doFilter(request, response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
你试试我这种方式,我以前记得也是本地可以,发布到服务器上不行.是调用错了。
可能是web.xml的servlet-mapping配置引起的,不同的url-pattern配置会使request.getServletPath()的返回值不同