javaweb中怎么获取文件的绝对路径

javaweb中怎么获取文件的绝对路径,第1张

在jsp和class文件中调用的相对路径不同。 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用SystemgetProperty("userdir")获取你工程的绝对路径

另:在Jsp,Servlet,Java中详细获得路径的方法!

1jsp中取得路径:

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:requestgetRequestURI()

结果:/TEST/testjsp

(2)得到工程名:requestgetContextPath()

结果:/TEST

(3)得到当前页面所在目录下全名称:requestgetServletPath()

结果:如果页面在jsp目录下 /TEST/jsp/testjsp

(4)得到页面所在服务器的全路径:applicationgetRealPath("页面jsp")

结果:D:/resin/webapps/TEST/testjsp

(5)得到页面所在服务器的绝对路径:absPath=new javaioFile(applicationgetRealPath(requestgetRequestURI()))getParent();

结果:D:/resin/webapps/TEST

2在类中取得路径:

(1)类的绝对路径:String u=ClassclassgetClass()getResource("/")getPath()

结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

(2)得到工程的路径:SystemgetProperty("userdir")

结果:D:/TEST

3在Servlet中取得路径:

(1)得到工程目录:requestgetSession()getServletContext()getRealPath("") 参数可具体到包名。

结果:E:/Tomcat/webapps/TEST

(2)得到IE地址栏地址:requestgetRequestURL()

(3)得到相对地址:requestgetRequestURI()

结果:/TEST/test

>

<servlet>

<servlet-name>UserInfoServelet</servlet-name>

<servlet-class>comjavaservletUserInfoServelet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>UserInfoServelet</servlet-name>

<url-pattern>/UserInfoServelet</url-pattern>

</servlet-mapping>

<url-pattern>/UserInfoServelet</url-pattern>这个路径前面不要加Servlet,直接这样就行了

楼上的正解,自己写个初始化servlet,在init方法中,获取上下文路径,然后存到一个类的静态变量中,

如:

String contextPath = filterConfiggetServletContext()getContextPath();//上下文路径

ConstantCONTEXTPATH = contextPath;

然后在业务层中,使用ConstantCONTEXTPATH获取路径

以上就是关于javaweb中怎么获取文件的绝对路径全部的内容,包括:javaweb中怎么获取文件的绝对路径、tomcat可以脱离eclipse运行servlet,但是在eclipse中启动tomcat总是报404,不知道路径应该怎么弄,求帮助、在Tomcat下调用Servlet不能使用默认路径,每次都要重新写入web.xml的原因等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9327149.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存