?br />
?br />
String path1 = this.getClass().getClassLoader().getResource(".").getPath(); //取得根目录(classesQ\?F:/zzd/java/test/p_test/build/classes/
?
getResource("XXX") //取得根目录下的目录、文件的路径QXX为目录、文件名/F:/zzd/java/test/p_test/build/classes/Notepad.classQ,更深的目录、文件不?/span>
?
getResource("/") //不行
String path = path1.substring(path1.indexOf('/') + 1, path1.indexOf("/WEB-INF")) + "/tp/" + tpb.getWjm(); //必须path1.indexOf('/') + 1而不?Q因为path1可能以file:/开?/span>
?br />
getClass().getName(); //包括包的cd
?br />
getClass().getPackage().getName(); //包名
二、Servlet
?br />
?br />
String filePath = this.getServletContext().getRealPath("/"); //只能得到web目录F:\zzd\java\softdown\build\web\Q其他无?/span>
?br />
getRealPath(".") //无效
?br />
getRealPath("XXX") //无效
?br />
?br />
String path = this.getClass().getClassLoader().getResource("/").getPath(); //得到cȝ?F:/zzd/java/softdown/build/web/WEB-INF/classes/
?br />
getResource("XXX") //(?#8220;一”)
?br />
getResource(".") //取得/D:/Tomcat/common/classes/
String s = request.getServletPath(); //得到本Servlet的web相对路径Q?pathTest
String s = request.getRequestURI(); //得到本Servlet的webl对路径Q?strutsTest/pathTest
三、Action
?br />
String filePath = this.getServlet().getServletContext().getRealPath("/"); //得到web目录F:\zzd\java\softdown\build\web\
?br />
?br />
String path = this.getClass().getClassLoader().getResource("/").getPath(); //取得根目录(classesQ\?F:/zzd/java/test/strutsTest2/build/web/WEB- INF/classes/
?br />
getResource("XXX") //?#8220;一”QXXX可ؓclasses目录下的文gQ更q录下的文仉写出完整的相Ҏ目录QclassesQ的路径Q如Qcom.myapp.struts
String path = p1.substring(p1.indexOf('/') + 1, p1.lastIndexOf('/')) + "相对路径"; //得到的\径以'/'开_所以需p1.indexOf('/') + 1处理Q用p1.lastIndexOf('/')L最后的"/XXX"
三、JSP
只能得到web目录F:\zzd\java\test\strutsTest\build\web\Q其他无?br />
?br />
?br />
String path = pageContext.getServletContext().getRealPath(""); //得到web目录F:\zzd\java\test\strutsTest\build\webQ没有最后的“\”Q?/span>
?br />
String path = pageContext.getServletContext().getRealPath("/"); //得到web目录F:\zzd\java\test\strutsTest\build\web
?br />
?br />
String strPathFile2 = application.getRealPath(""); //得到web目录F:\zzd\java\test\strutsTest\build\webQ没有最后的“\”Q?/span>
?br />
String strPathFile2 = application.getRealPath("/"); //得到web目录F:\zzd\java\test\strutsTest\build\web\
=======================
1、服务器端的地址
服务器端的相对地址指的是相对于你的web应用的地址Q这个地址是在服务器端解析的,也就是说q时候在jsp和servlet中的相对地址应该是相对于你的web应用Q即相对于http: //192.168.0.1/webapp/的?br />
其用到的地方有:
forwarderQ?br />
ervlet中的request.getRequestDispatcher(address);
q个address是在服务器端解析的,所以,你要 forwarder到a.jsp应该q么写:request.getRequestDispatcher(“/user/a.jsp”)q个/相对于当前的web应用webappQ其l对地址是Qhttp://192.168.0.1/webapp/user/a.jsp?br />
sendRedirectQ?br />
在jsp?lt;%response.sendRedirect("/rtccp/user/a.jsp");%>
struts的配|文件中Qforward路径应当?/"开?br />
=====
对classE序文g来说Qclasses目录是根目录

]]>