① 怎么用eclipse修改web工程的访问路径
1、首先在电脑上打开eclipse,找到自己要修改的项目,鼠标右键点击。
② java web路径
1 所谓的根目录指的是/blog 还是 /WebRoot 答:在你项目已经发布后,/blog和/WebRoot是一样的。指的是同一个目录,在项目工程发布后,就没有/WebRoot这个目录了,只有/blog目录,这个目录下边的内容就是/WebRoot下边的内容。 2 转发resuest.getRequestDispatcher("这里的相对路径是什么").forward(request,response); 答:这里的相对路径是带/的路径,是从当前应用开始的路径,也就是从根目录开始的路径。浏览器地址栏不变。 3 重定向response.sendRedirect("这里的相对路径是什么"); 答:这里的相对路径是带/的路径,是从当前应用开始的路径,也就是从根目录开始的路径。浏览器地址栏会变,相当于两次请求。
③ 怎么在一个java程序里获得当前web应用的路径
在java中获得文件的路径在我们做上传文件操作时是不可避免的。
web 上运行
1:this.getClass().getClassLoader().getResource("/").getPath();
this.getClass().getClassLoader().getResource("").getPath(); 得到的是 ClassPath的绝对URI路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/
System.getProperty("user.dir");
this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 项目的绝对路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war
2:this.getClass().getResource("/").getPath();
this.getClass().getResource("").getPath(); 得到的是当前类 文件的URI目录。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/com/jebel/helper/
this.getClass().getResource(".").getPath(); X 不 能运行
3:Thread.currentThread().getContextClassLoader().getResource("/").getPath()
Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的绝对URI路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/
Thread.currentThread().getContextClassLoader().getResource(".").getPath() 得到的是 项目的绝对路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war
在本地运行中
1:this.getClass().getClassLoader().getResource("").getPath();
this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 ClassPath的绝对URI路径。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
this.getClass().getClassLoader().getResource(".").getPath(); X 不 能运行
2:this.getClass().getResource("").getPath();
this.getClass().getResource(".").getPath(); 得到的是当前类 文件的URI目录。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes/com/jebel/helper/
/D:/myProjects/hp/WebRoot/WEB-INF/classes/ 得到的是 ClassPath的绝对URI路径。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
3:Thread.currentThread().getContextClassLoader().getResource(".").getPath()
Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的绝对URI路径。。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
Thread.currentThread().getContextClassLoader().getResource("/").getPath() X 不 能运行
最后
在Web应用程序中,我们一般通过ServletContext.getRealPath("/")方法得到Web应用程序的根目录的绝对路径。
还有request.getContextPath(); 在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic服务器,项目内部并没有文件结构的概念,用这种方式是始终得到null,获取不到路径,目前还没有找到具体的解决方案。
④ web页面连接是有相对路径和绝对路径,他们之间有什么区别和联系
绝对路径是指比如你把这个index.html页面放在电脑的真实位置,如:我D:\webapps\index.html,那这个index.html的绝对路径就是你电脑上的真实路径"D:\webapps\index.html"
相对路径是指,如果你要把一个web页面发布,让别的电脑能够访问,那么你必须将此页面放在一个服务器的目录,如这个服务器的目录是在"D:\webapps"那么你的网站的index.html的相对路径就就是"\index.html",如果你页面还包含了一些图片文件,图片文件又另外存放在一个文件夹,如"\img\a.jpg",那么你这张图片的绝对路径就是"D:\webapps\img\a.jpg",你这张图片的相对路径就是"\img\a.jpg".