很多朋友都想了解java如何获取当前项目的路径?下面就一起来了解一下吧~
在jsp和class文件中调用的相对路径不同。
在jsp里,根目录是WebRoot
在class文件中,根目录是WebRoot/WEB-INF/classes 也可以选用SystemgetProperty("userdir")获取工程的绝对路径。
1jsp中取得路径:
以工程名为TEST为例:
(1)得到包含工程名的当前页面全路径:requestgetRequestURI() 结果:/TEST/testjsp (2)得到工程名:requestgetContextPath() 结果:/TEST (3)得到当前页面所在目录下全名称:requestgetServletPath() 结果:如果页面在jsp目录下 /TEST/jsp/testjsp (4)得到页面所在服务器的全路径:applicationgetRealPath("页面jsp") 结果:D: esinwebappsTEST estjsp (5)得到页面所在服务器的绝对路径:absPath=new javaioFile(applicationgetRealPath(requestgetRequestURI()))getParent(); 结果:D: esinwebappsTEST
2在class类中取得路径:
(1)类的绝对路径:ClassclassgetClass()getResource("/")getPath() 结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ (2)得到工程的路径:SystemgetProperty("userdir") 结果:D:TEST
3在Servlet中取得路径: (1)得到工程目录:requestgetSession()getServletContext()getRealPath("") 参数可具体到包名。 结果:E:TomcatwebappsTEST (2)得到IE地址栏地址:requestgetRequestURL() 结果:>
当一个url过来时,如:>
代码如下:
<% String basepath=requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort() ;
String Path = requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort()+path+"/"+requestgetContextPath()+"/";
String uri=requestgetRequestURI();
uri=urisubstring(urilastIndexOf("/")+1); //获得是最后的hellojsp
%>
(上例中,Path路径就是图中的)
说明:
1requestgetContextPath() 返回站点的根目录,如:‘’/demo‘’
2requestgetRealpath("/")得到的是实际的物理路径,也就是你的项目所在服务器中的路径
3requestgetScheme() 等到的是协议名称,默认是>
4requestgetServerName() 得到的是在服务器的配置文件中配置的服务器名称 比如:localhost baiducom 等等
5requestgetServerPort() 得到的是服务器的配置文件中配置的端口号 比如 8080等等
OK,满意的话请好评!O(∩_∩)O~
JSP中上面都有一个<%%>包裹的basePath,这是工程的路径,你可以在src上加入basePath,例如:
<img src="<%=basePath%>images/aajpg"/>希望对你有帮助
先将文件上传到你服务器端的一个images文件夹中,然后数据库保存的路径是你在服务器端的绝对路径。
以后要显示,例如头像这种东西,就根据绝对路径去服务器端的images文件夹中找就行了。
从你的代码看。你并没有用到basepath呀,两个文件在同一个文件夹下跳转时或者在这个页面访问另一个页面就直接写demojsp,如果使用basepath则这样写:href=“<%=basepath%>forward/demojsp”建议采用后一种写法,这样就可以避免所谓相对路径绝对路径分不清的问题了
以上就是关于如何在java中获取当前项目的路径全部的内容,包括:如何在java中获取当前项目的路径、jsp怎么在servlet里得到jsp页面的一张图片的相对路径、jsp怎么获取当前页面的url等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)