请教关于路径的问题,多个斜杠的问题? 400 报错
http://localhost:8080/webapp/////admin////main.jsp
和下边的
http://localhost:8080/webapp/admin/main.jsp
都能打开相同的,都不会出错,做了两年java了,今天早上突然发现这个问题,觉得很诡异,应该是自己基础不够扎实,想知道为什么,如果在多个//之间要是有一个不为空的字符串的话是肯定会报错的,我用的tomcat 6.不知道是不是所有的web容器都会这么处理路径呢
不是tomcat的问题,是操作系统就是这样的,windows和linux都是支持这样的
你可以在命令行或者终端中试一下你就知道了
######/** * java在服务器启动时获得项目的根目录 初始化web.xml * */ public class InitConfig implements ServletContextListener{ public static String ProjectPath; public void contextDestroyed(ServletContextEvent arg0) { } public void contextInitialized(ServletContextEvent event) { ProjectPath = event.getServletContext().getRealPath("");// 获得项目的根目录 } }
String filePath = InitConfig.ProjectPath + "在项目下要找的文件路径";######操作系统应该可以判断并忽略多余的“/”符######谢谢楼上的三位兄弟,刚才尝试了,做了几个小例子,记住了这个,OSC 真好 ######
/** * java在服务器启动时获得项目的根目录 初始化web.xml * */ public class InitConfig implements ServletContextListener{ public static String ProjectPath; public void contextDestroyed(ServletContextEvent arg0) { } public void contextInitialized(ServletContextEvent event) { ProjectPath = event.getServletContext().getRealPath("");// 获得项目的根目录 } }
String filePath = InitConfig.ProjectPath + "在项目下要找的文件路径";
<!-- 配置服务器启动时项目的根目录绝对路径 --> <listener> <description>initConfig</description> <listener-class> com.xxx.xxx.xxx.InitConfig </listener-class> </listener> <!-- 配置服务器启动时项目的根目录绝对路径 结束 -->
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。