社区
Java EE
帖子详情
解压版tomcat中,jsp文件使用了相对路径操作就会报错
guolin
领域专家: 操作系统技术领域
2009-10-23 06:44:51
以前使用的安装版的tomcat,jsp文件里使用相对路径时一切正常,后来用了解压版的tomcat,把以前的jsp代码拿过来用,只要是有路径操作的地方全部都会报错,把相对路径改为绝对路径之后就能正常运行了。
请问这是怎么一回事?是不是解压版的tomcat还需要配置什么东西才可以读取相对路径,谢谢
...全文
412
5
打赏
收藏
解压版tomcat中,jsp文件使用了相对路径操作就会报错
以前使用的安装版的tomcat,jsp文件里使用相对路径时一切正常,后来用了解压版的tomcat,把以前的jsp代码拿过来用,只要是有路径操作的地方全部都会报错,把相对路径改为绝对路径之后就能正常运行了。 请问这是怎么一回事?是不是解压版的tomcat还需要配置什么东西才可以读取相对路径,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
guolin
2009-10-24
打赏
举报
回复
我又用了一个输出流语句进行测试,发现了问题所在
FileWriter fw=new FileWriter("sp.txt");
结果最后生成sp.txt的地方竟然是tomcat的bin文件夹里,根目录的位置变了,这是为什么呢?可不可以改回原来根目录的地址?
guolin
2009-10-24
打赏
举报
回复
没有啊,我的相对路径名是正确的啊,在以前安装版的tomcat里可以正常运行的,项目的路径也没有问题,就是还一直报错。提示这个错误:
org.apache.jasper.JasperException: javax.servlet.ServletException: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] '(未知的)'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
jsp里面路径的一句是这么写的:
String url="jdbc:odbc:Driver={MicroSoft Access Driver(*.mdb)};DBQ=webapps/test/db1.mdb";
db1.mdb这个文件是存在的,就是提示找不到,换成绝对路径就可以正常运行,这是为什么?
若鱼1919
2009-10-24
打赏
举报
回复
参考:深入体验java web 开发内幕-核心基础,第212页
简单说的说就是相对路径是相对于谁的问题,解压版是相对于start.bat.
所以,可以换用:
(1)getServletContext().getResourceAsStream("/WEB-INF/aa.txt");
ServletContext可以从整个Web应用中找到文件,/代表web应用根目录
(2)getClass().getResourceAsStream("/aa.txt");
这是从classpath中查找文件,所以aa.txt的位置应该是在:/WEB-INF/classes/aa.txt
(3)还可以用java.util.ResourceBundle类的getBundle()方法
ResourceBundle rb = ResourceBundle.getBundle("com.sdkd.config");
位置是:/WEB-INF/classes/com/sdkd/config.properties
秦π
2009-10-23
打赏
举报
回复
肯定是写错了 不要加domain的名称 和/(前面)
水中影子
2009-10-23
打赏
举报
回复
不是啊,我一直用绿色的tomcat,首先确定你项目的路径是否正确,重新在绿色tomcat部署一次,看看有没有错误
数智赋能:构建区域科技创新服务新范式_1.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
FFmpeg音视频处理 Python工具脚本集 批量格式转换 剪切 帧提取 合并 字幕
5个Python+FFmpeg实用脚本:批量格式转换(mp4/mkv/webm互转)、视频剪切(按时间区间)、关键帧均匀帧提取、多视频无损拼接合并、字幕提取与SRT/ASS/VTT格式转换。附完整
使用
手册+参数调优速查表。适用爬虫工程师视频后处理、视频创作者、自动化运维。Windows/Linux/macOS通用
国央企创新负责人如何利用平台实现科研成果的多维度智能分析与精准配置?.docx
国央企创新负责人如何利用平台实现科研成果的多维度智能分析与精准配置?
NFC碰一碰营销系统 源码包 支持OEM 有配置教程
可以部署在自己服务器 源码包下载 可修改 还有GEO的源码包有需要可以联系我zwzdzjm
数智赋能,共塑区域科技创新新生态.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
Java EE
67,535
社区成员
225,849
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章