- 浏览: 173977 次
- 性别:
- 来自: 郑州
文章分类
- 全部博客 (90)
- web前端 (23)
- java (30)
- 其它 (7)
- jbpm4.4 (1)
- 服务器 (2)
- 数据库 (11)
- J2se (1)
- 812202 (0)
- access sql (1)
- 数据库管理工具 (1)
- smartupload (1)
- win7 控制台窗口已停止工作 (1)
- xfire spring web service (1)
- 免安装版本 tomcat 后台启动 设置 (1)
- js 处理日期类型 (1)
- input 自动填充 (1)
- android 连接webservice (2)
- tomcat 直接通过IP访问web项目 (1)
- svn 修改历史日志 (1)
- java 设计模式之适配器 (1)
- android 程序日志记录 (3)
- Win7 电脑突然USB无法识别 方法记录 (1)
- java 实现图片缩略 (1)
- android 更多,刷新 (3)
- access 导入mysql (1)
- java 加密,解密 (0)
- 闪回数据 (1)
- extjs 弹出进度条 (1)
- JSP 绝对路径显示服务器非webapps下的图片或资源 (0)
- html 制作彩信未完 (1)
- android 2.2 api (1)
- java 反射 (1)
- jquery 购物车 (1)
最新评论
-
masuweng:
oracle 迁移 sqlite -
nanjiwubing123:
你好 ,在IE6环境下运行demo,出现dhtmlXTreeO ...
dhtmlxtree 右键菜单的增加,删除,修改 -
李_俊:
呃,那么复杂,果断无视,找一个简单的。
java 源码混淆器 -
shanshan518:
兼容性不好,还有没有精确到秒,楼主
精确到秒的js日期时间选择器 -
mynamelzk:
日期时间选择器非常好用,谢谢你了
日期选择器,中文
转载 http://www.webdn.com/web_file/java/0038.asp
1.基本概念的理解
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:
C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个
URL绝对路径。
相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在
Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,
"../"代表上级目录。这种类似的表示,也是属于相对路径。
另外关于URI,URL,URN等内容,请参考RFC相关文档标准。
RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,
(http://www.ietf.org/rfc/rfc2396.txt)
2.关于JSP/Servlet中的相对路径和绝对路径。
2.1服务器端的地址
服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的
(不同于html和javascript中的相对地址,他们是由客户端浏览器解析的)也就是说这时候
在jsp和servlet中的相对地址应该是相对于你的web应用,即相对于http://192.168.0.1/webapp/的。
其用到的地方有:
forward:servlet中的request.getRequestDispatcher(address);这个address是
在服务器端解析的,所以,你要forward到a.jsp应该这么写:
request.getRequestDispatcher(“/user/a.jsp”)这个/相对于当前的web应用webapp,
其绝对地址就是:http://192.168.0.1/webapp/user/a.jsp。
sendRedirect:在jsp中<%response.sendRedirect("/rtccp/user/a.jsp");%>
2.22、客户端的地址
所有的html页面中的相对地址都是相对于服务器根目录(http://192.168.0.1/)的,
而不是(跟目录下的该Web应用的目录)http://192.168.0.1/webapp/的。
Html中的form表单的action属性的地址应该是相对于服务器根目录(http://192.168.0.1/)的,
所以,如果提交到a.jsp为:action="/webapp/user/a.jsp"或action="<%=request.getContextPath()%>"/user/a.jsp;
提交到servlet为actiom="/webapp/handleservlet"
Javascript也是在客户端解析的,所以其相对路径和form表单一样。
因此,一般情况下,在JSP/HTML页面等引用的CSS,Javascript.Action等属性前面最好都加上
<%=request.getContextPath()%>,以确保所引用的文件都属于Web应用中的目录。
另外,应该尽量避免使用类似".","./","../../"等类似的相对该文件位置的相对路径,这样
当文件移动时,很容易出问题。
3. JSP/Servlet中获得当前应用的相对路径和绝对路径
3.1 JSP中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getRequestURI()
文件的绝对路径 :application.getRealPath(request.getRequestURI());
当前web应用的绝对路径 :application.getRealPath("/");
取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent()
3.2 Servlet中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getServletPath();
文件的绝对路径 :request.getSession().getServletContext().getRealPath
(request.getRequestURI())
当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");
(ServletContext对象获得几种方式:
javax.servlet.http.HttpSession.getServletContext()
javax.servlet.jsp.PageContext.getServletContext()
javax.servlet.ServletConfig.getServletContext()
)
4.java 的Class中获得相对路径,绝对路径的方法
4.1单独的Java类中获得绝对路径
根据java.io.File的Doc文挡,可知:
默认情况下new File("/")代表的目录为:System.getProperty("user.dir")。
一下程序获得执行类的当前路径
package org.cheng.file;
import java.io.File;
public class FileTest {
public static void main(String[] args) throws Exception {
System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));
System.out.println(FileTest.class.getClassLoader().getResource(""));
System.out.println(ClassLoader.getSystemResource(""));
System.out.println(FileTest.class.getResource(""));
System.out.println(FileTest.class.getResource("/")); //Class文件所在路径
System.out.println(new File("/").getAbsolutePath());
System.out.println(System.getProperty("user.dir"));
}
}
4.2服务器中的Java类获得当前路径(来自网络)
(1).Weblogic
WebApplication的系统文件根目录是你的weblogic安装所在根目录。
例如:如果你的weblogic安装在c:\bea\weblogic700.....
那么,你的文件根路径就是c:\.
所以,有两种方式能够让你访问你的服务器端的文件:
a.使用绝对路径:
比如将你的参数文件放在c:\yourconfig\yourconf.properties,
直接使用 new FileInputStream("yourconfig/yourconf.properties");
b.使用相对路径:
相对路径的根目录就是你的webapplication的根路径,即WEB-INF的上一级目录,将你的参数文件放
在yourwebapp\yourconfig\yourconf.properties,
这样使用:
new FileInputStream("./yourconfig/yourconf.properties");
这两种方式均可,自己选择。
(2).Tomcat
在类中输出System.getProperty("user.dir");显示的是%Tomcat_Home%/bin
(3).Resin
不是你的JSP放的相对路径,是JSP引擎执行这个JSP编译成SERVLET
的路径为根.比如用新建文件法测试File f = new File("a.htm");
这个a.htm在resin的安装目录下
(4).如何读相对路径哪?
在Java文件中getResource或getResourceAsStream均可
例:getClass().getResourceAsStream(filePath);//filePath可以是"/filename",这里的/代表web
发布根路径下WEB-INF/classes
默认使用该方法的路径是:WEB-INF/classes。已经在Tomcat中测试。
5.读取文件时的相对路径,避免硬编码和绝对路径的使用。(来自网络)
5.1 采用Spring的DI机制获得文件,避免硬编码。
参考下面的连接内容:
http://www.javajia.net/viewtopic.php?p=90213&
5.2 配置文件的读取
参考下面的连接内容:
http://dev.csdn.net/develop/article/39/39681.shtm
5.3 通过虚拟路径或相对路径读取一个xml文件,避免硬编码
参考下面的连接内容:
http://club.gamvan.com/club/clubPage.jsp?iPage=1&tID=10708&ccID=8
6.Java中文件的常用操作(复制,移动,删除,创建等)(来自网络)
常用 java File 操作类
http://www.easydone.cn/014/200604022353065155.htm
Java文件操作大全(JSP中)
http://www.pconline.com.cn/pcedu/empolder/gj/java/0502/559401.html
java文件操作详解(Java中文网)
http://www.51cto.com/html/2005/1108/10947.htm
JAVA 如何创建\删除\修改\复制目录及文件
http://www.gamvan.com/developer/java/2005/2/264.html
总结:
通过上面内容的使用,可以解决在Web应用服务器端,移动文件,查找文件,复制
删除文件等操作,同时对服务器的相对地址,绝对地址概念更加清晰。
建议参考URI,的RFC标准文挡。同时对Java.io.File. Java.net.URI.等内容了解透彻
对其他方面的理解可以更加深入和透彻。
1.基本概念的理解
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:
C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个
URL绝对路径。
相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在
Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,
"../"代表上级目录。这种类似的表示,也是属于相对路径。
另外关于URI,URL,URN等内容,请参考RFC相关文档标准。
RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,
(http://www.ietf.org/rfc/rfc2396.txt)
2.关于JSP/Servlet中的相对路径和绝对路径。
2.1服务器端的地址
服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的
(不同于html和javascript中的相对地址,他们是由客户端浏览器解析的)也就是说这时候
在jsp和servlet中的相对地址应该是相对于你的web应用,即相对于http://192.168.0.1/webapp/的。
其用到的地方有:
forward:servlet中的request.getRequestDispatcher(address);这个address是
在服务器端解析的,所以,你要forward到a.jsp应该这么写:
request.getRequestDispatcher(“/user/a.jsp”)这个/相对于当前的web应用webapp,
其绝对地址就是:http://192.168.0.1/webapp/user/a.jsp。
sendRedirect:在jsp中<%response.sendRedirect("/rtccp/user/a.jsp");%>
2.22、客户端的地址
所有的html页面中的相对地址都是相对于服务器根目录(http://192.168.0.1/)的,
而不是(跟目录下的该Web应用的目录)http://192.168.0.1/webapp/的。
Html中的form表单的action属性的地址应该是相对于服务器根目录(http://192.168.0.1/)的,
所以,如果提交到a.jsp为:action="/webapp/user/a.jsp"或action="<%=request.getContextPath()%>"/user/a.jsp;
提交到servlet为actiom="/webapp/handleservlet"
Javascript也是在客户端解析的,所以其相对路径和form表单一样。
因此,一般情况下,在JSP/HTML页面等引用的CSS,Javascript.Action等属性前面最好都加上
<%=request.getContextPath()%>,以确保所引用的文件都属于Web应用中的目录。
另外,应该尽量避免使用类似".","./","../../"等类似的相对该文件位置的相对路径,这样
当文件移动时,很容易出问题。
3. JSP/Servlet中获得当前应用的相对路径和绝对路径
3.1 JSP中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getRequestURI()
文件的绝对路径 :application.getRealPath(request.getRequestURI());
当前web应用的绝对路径 :application.getRealPath("/");
取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent()
3.2 Servlet中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getServletPath();
文件的绝对路径 :request.getSession().getServletContext().getRealPath
(request.getRequestURI())
当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");
(ServletContext对象获得几种方式:
javax.servlet.http.HttpSession.getServletContext()
javax.servlet.jsp.PageContext.getServletContext()
javax.servlet.ServletConfig.getServletContext()
)
4.java 的Class中获得相对路径,绝对路径的方法
4.1单独的Java类中获得绝对路径
根据java.io.File的Doc文挡,可知:
默认情况下new File("/")代表的目录为:System.getProperty("user.dir")。
一下程序获得执行类的当前路径
package org.cheng.file;
import java.io.File;
public class FileTest {
public static void main(String[] args) throws Exception {
System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));
System.out.println(FileTest.class.getClassLoader().getResource(""));
System.out.println(ClassLoader.getSystemResource(""));
System.out.println(FileTest.class.getResource(""));
System.out.println(FileTest.class.getResource("/")); //Class文件所在路径
System.out.println(new File("/").getAbsolutePath());
System.out.println(System.getProperty("user.dir"));
}
}
4.2服务器中的Java类获得当前路径(来自网络)
(1).Weblogic
WebApplication的系统文件根目录是你的weblogic安装所在根目录。
例如:如果你的weblogic安装在c:\bea\weblogic700.....
那么,你的文件根路径就是c:\.
所以,有两种方式能够让你访问你的服务器端的文件:
a.使用绝对路径:
比如将你的参数文件放在c:\yourconfig\yourconf.properties,
直接使用 new FileInputStream("yourconfig/yourconf.properties");
b.使用相对路径:
相对路径的根目录就是你的webapplication的根路径,即WEB-INF的上一级目录,将你的参数文件放
在yourwebapp\yourconfig\yourconf.properties,
这样使用:
new FileInputStream("./yourconfig/yourconf.properties");
这两种方式均可,自己选择。
(2).Tomcat
在类中输出System.getProperty("user.dir");显示的是%Tomcat_Home%/bin
(3).Resin
不是你的JSP放的相对路径,是JSP引擎执行这个JSP编译成SERVLET
的路径为根.比如用新建文件法测试File f = new File("a.htm");
这个a.htm在resin的安装目录下
(4).如何读相对路径哪?
在Java文件中getResource或getResourceAsStream均可
例:getClass().getResourceAsStream(filePath);//filePath可以是"/filename",这里的/代表web
发布根路径下WEB-INF/classes
默认使用该方法的路径是:WEB-INF/classes。已经在Tomcat中测试。
5.读取文件时的相对路径,避免硬编码和绝对路径的使用。(来自网络)
5.1 采用Spring的DI机制获得文件,避免硬编码。
参考下面的连接内容:
http://www.javajia.net/viewtopic.php?p=90213&
5.2 配置文件的读取
参考下面的连接内容:
http://dev.csdn.net/develop/article/39/39681.shtm
5.3 通过虚拟路径或相对路径读取一个xml文件,避免硬编码
参考下面的连接内容:
http://club.gamvan.com/club/clubPage.jsp?iPage=1&tID=10708&ccID=8
6.Java中文件的常用操作(复制,移动,删除,创建等)(来自网络)
常用 java File 操作类
http://www.easydone.cn/014/200604022353065155.htm
Java文件操作大全(JSP中)
http://www.pconline.com.cn/pcedu/empolder/gj/java/0502/559401.html
java文件操作详解(Java中文网)
http://www.51cto.com/html/2005/1108/10947.htm
JAVA 如何创建\删除\修改\复制目录及文件
http://www.gamvan.com/developer/java/2005/2/264.html
总结:
通过上面内容的使用,可以解决在Web应用服务器端,移动文件,查找文件,复制
删除文件等操作,同时对服务器的相对地址,绝对地址概念更加清晰。
建议参考URI,的RFC标准文挡。同时对Java.io.File. Java.net.URI.等内容了解透彻
对其他方面的理解可以更加深入和透彻。
发表评论
-
Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换
2013-07-16 19:15 0转载http://my.oschina.net/sorthW ... -
Spring中加载ApplicationContext.xml文件的方式【转】
2013-03-18 09:34 10531.利用ClassPathXmlApplicationCon ... -
Duplicate name in Manifest: SHA1-Digest
2012-11-27 17:17 4052Duplicate name in Manifest: SHA ... -
JSP 绝对路径显示服务器非webapps下的图片或资源
2012-05-08 19:08 0设置tomcate 虚拟路径 1:在tomcate/ser ... -
java 加密,解密
2012-04-05 17:20 0package test; impor ... -
java 实现图片缩略
2012-02-29 11:02 1019用到的Jar:Thumbnails 查看下载 地址:http ... -
java 设计模式之适配器
2012-02-20 10:48 944转载:http://www.lshine.com/index. ... -
tomcat 直接通过IP访问web项目
2012-02-19 12:28 48011:在开发时访问web项目是这样的http://localho ... -
xfire ibatis spring web service
2011-11-04 14:37 12841:所用的jar xfire-all-1.2.6.ja ... -
xfire spring web service
2011-11-03 18:17 1143转载 http:// ... -
Spring_ibatis_jta多数据源配置
2011-08-12 15:02 2074转载 Spring+iBatis+JOTM实现JTA事 ... -
java.lang.UnsatisfiedLinkError解决方法汇集(转载)
2011-08-04 16:59 18866转载http://blog.csdn.net/niux ... -
Spring事务配置的五种方式
2011-06-28 11:54 1016转载http://developer.51cto.com/ar ... -
JFileChooser使用详解
2011-06-21 10:38 4897JFileChooser 转载 (2010-11-30 23 ... -
java 连接各种数据库 总结
2011-05-24 23:09 4570Oracle8/8i/9i数据库(thin模式) Cl ... -
java 实现某个日期增减天数
2011-05-20 01:46 1366转载:http://blog.csdn.net/zdwzzu2 ... -
dom4j 验证xml dtd
2011-05-08 18:52 1123转载:http://hi.baidu.com/%C0%EE%D ... -
Eclipse 3.WindowBuilder Pro及使用SWT Designer
2011-05-06 11:59 1761转载:http://apps.hi.baidu.com ... -
swing 管理器二
2011-05-06 09:26 932import java.awt.Dimension; imp ... -
swing 布局管理器
2011-05-05 17:53 1182当选择使用JPanel和顶层容器的content pane时 ...
相关推荐
- 在传统的Java Web项目中,通常将`javax.servlet.jar`和`javax.servlet.jsp.jar`添加到项目的类路径中,这可以通过在`WEB-INF/lib`目录下放置这两个jar包实现。 - 使用Maven或Gradle等构建工具时,可以在pom.xml...
将"jakarta.servlet.jsp.jstl-api-2.0.0.jar"添加到Tomcat的类路径中,可以确保JSP页面能够识别并使用JSTL标签。 JSTL主要包含以下几个核心标签库: 1. **Core Library**(c:):提供了基本的控制流和数据处理功能...
在Java Web开发中,`javax.servlet.jar`和`javax.servlet.jsp.jar`是两个非常重要的库文件,它们分别提供了Servlet和JSP(JavaServer Pages)的核心API。这两个库是开发基于Java的Web应用程序不可或缺的部分,特别是...
7. **配置与依赖**:在使用JSTL时,需要在web.xml文件中配置JSTL相关的jar文件,并确保它们在类路径中可用。`javax.servlet.jsp.jstl-1.2.1.jar`及其依赖如`javax.servlet.jsp.jstl-api-1.2.1.jar`、`taglibs-...
2. **手动导入**:如果你的环境不支持自动化依赖管理,你可以从官方网站或者其他可靠的源下载`javax.servlet.jsp.jar`,然后将其放入项目的`lib`目录,或者添加到你的IDE的类路径中。 3. **检查应用服务器**:如果...
在Java编程环境中,`javax.servlet.jar` 是一个非常重要的库,它包含了Servlet和JSP(JavaServer Pages)的核心API,是开发Web应用程序的基础组件。这个包由Java EE(Enterprise Edition)标准提供,允许开发者创建...
1. **JspServlet**:默认的JSP引擎,用于处理JSP页面请求。 2. **JspPage接口**:JSP页面被编译成Java类时,该类会实现这个接口,使得JSP页面可以作为Servlet来运行。 3. **jsp.java文件**:当JSP页面被首次请求时...
直接进入lib文件夹: 源文件:commons-fileupload-...源应该是压缩存档、文件夹或单个文件的路径。目标将在指定路径创建为与源相同类型的资源。 参考说明地址:https://github.com/apache/tomcat-jakartaee-migration
1. **添加Servlet库**:如果你是在IDEA或Eclipse等集成开发环境中,需要在项目的类路径中添加`javax.servlet.jar`。如果是Maven项目,可以在pom.xml文件中添加如下依赖: ```xml <groupId>javax.servlet ...
E:\eclipse-java-indigo-SR1-win32\eclipse\plugins 选择javax.servlet.jsp_2.0.0.v201101211617.jar;javax.servlet_2.5.0.v201103041518.jar 进行添加即可 注释:由于版本不同,文件包名可能稍有区别。
例如,javac -classpath ./test.jar TestJar.java 将使用 ./test.jar 作为类搜索路径来编译 TestJar.java 文件。 Java 编译和运行时的类搜索路径 在 Java 编译和运行时,类搜索路径是非常重要的。它指定了 Java ...
考虑到版本兼容性,开发者需要确保所使用的Servlet API和EL实现与运行环境的服务器版本相匹配,以避免潜在的冲突和不兼容问题。例如,Servlet 3.1 API可能无法在只支持Servlet 2.5的服务器上运行。 综上所述,`...
9. **src**目录:这个目录通常包含项目的Java源代码文件,包括JSP、Servlet和JavaBean等。 10. **WebRoot**目录:这是Web应用的根目录,包含HTML、CSS、JavaScript文件,以及图片、静态资源和Web应用的配置文件。 ...
由于这个JAR文件只包含API接口,因此不会包含任何实际的Servlet实现,避免了不同容器间的版本冲突问题。 在Java web开发中,理解并熟练运用Servlet API是基础,也是构建高性能、可扩展的web应用程序的关键。通过这...
而"HRProjectV2.0"很可能是项目源码的压缩包,包含了所有相关的JSP文件、Servlet类、配置文件、数据库脚本以及可能的测试文件等。解压后,开发者可以深入研究源代码,了解如何将JSP和Servlet集成在一起,以及它们...
这个压缩包中的资源,"零基础学Java.Web开发:JSP Servlet Struts Spring Hibernate Ajax(PPT)",旨在为初学者提供一个全面的学习路径,从基础的网页编程到复杂的框架应用。 1. **JavaServer Pages (JSP)**: JSP是...
2. **遇到的问题及解决**:实验初期可能遇到未编译JAVA文件就打包的问题,解决方法是在打包前先确保所有源代码都已正确编译。 3. **后续扩展**:可以尝试部署更复杂的Servlet与Jsp应用,探索更多高级功能,如会话...
### JSP/Servlet中的路径问题详解 #### 一、路径的基本概念 在JSP和Servlet技术中,理解和处理路径是非常重要的。路径可以分为绝对路径和相对路径两种。 **1. 绝对路径** - **定义**:绝对路径是指文件或目录在...
通过配置在Web应用的部署描述符(web.xml)中,Servlet可以被映射到特定的URL路径。 3. **Struts**:Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它简化了构建基于JSP和Servlet的Web应用...