在Java代码(非JSP及Action,Servlet,Controller)中获得WebRoot的物理路径
在开发Web方面的应用时, 常常须要获取 server中当前WebRoot的物理路径;
假设是Servlet , Action , Controller, 或则Filter , Listener , 拦截器等相关类时。 我们仅仅须要获得ServletContext。
然后通过ServletContext.getRealPath("/")来获取当前应用在server上的物理地址.
假设在类中取不到ServletContext时, 有两种方式能够做到
1) 利用Java的类载入机制
调用 XXX.class.getClassLoader().getResource(""); 方法来获取到ClassPath ,
然后处理获得WebRoot文件夹这样的方式仅仅能是该class在WebRoot/WEB-INF/classes下才干生效,
假设该class被打包到一个jar文件里, 则该方法失效。这时就应该用以下一种方式
2) spring框架的思路, 在WEB-INF/web.xml中 , 创建一个webAppRootKey的param,
指定一个值(默觉得webapp.root)作为键值, 然后通过Listener , 或者Filter ,
或者Servlet 运行String webAppRootKey = getServletContext().getRealPath("/");
并将webAppRootKey相应的webapp.root 分别作为Key , Value写到System Properties系统属性中。
之后在程序中通过System.getProperty("webapp.root")来获得WebRoot的物理路径
依据另外一种的思路,我们还能够再扩展一下。只是对于在部署在一台server中的应用来说,已经足够了。
转载于:https://www.cnblogs.com/jzdwajue/p/6951138.html
在Java代码(非JSP及Action,Servlet,Controller)中获得WebRoot的物理路径相关推荐
- java代码在jsp中怎么写_在jsp中写java代码
该服务器上的所有的访问者的所有 jsp 页面 D.该服务器上的所有的访问者的所有 jsp 页面和 Java 程序 6.在 JSP 中调用 JavaBean 时不会用到的标记是( )...... jav ...
- Eclipse解决每次修改java代码或jsp代码服务器重启问题的解决办法
1.面临的问题: Eclipse有点非常不友好,就是不管我怎么修改Java代码,哪怕只有仅仅一行代码都需要重新启动,才能使修改代码生效. 由于我们项目较大,这点严重影响了我的工作效率,本文 ...
- java怎么创建jsp文件怎么打开_Eclipse中怎么创建jsp文件?
创建jsp文件的方法:首先打开Eclipse:然后点击菜单栏的"File",并选"New":接着选择"Dynamic Web Project" ...
- Java代码防止被反编译的4中方法
你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 urlify.cn/2u2yEb 推荐:https://www.xttblog. ...
- [总结]jsp完成文件上传中遇到的“法克”路径解决办法
在web工程中完成文件上传,需要在jsp页面上写上如下一个控件: <input type="file" id="f" name="f" ...
- java注解返回不同消息,Spring MVC Controller中的一个读入和返回都是JSON的方法如何获取javax.validation注解的异常信息...
Spring MVC Controller中的一个读入和返回都是JSON的方法怎么获取javax.validation注解的错误信息? 本帖最后由 LonelyCoder2012 于 2014-03- ...
- 美食网站主页java代码,基于jsp的美食网-JavaEE实现美食网 - java项目源码
基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的美食网, 该项目可用各类java课程设计大作业中, 美食网的系统架构分为前后台两部分, 最终实现在线上进行美食网各 ...
- [改善Java代码]非稳定排序推荐使用List
我们知道Set与List的最大区别就是Set中的元素不可以重复(这个重复指的equals方法的返回值相等),其他方面则没有太大的区别了,在Set的实现类中有一个比较常用的类需要了解一下:TreeSet ...
- java代码写jsp读取,Java IO学习基础之读写文本文件-JSP教程,Java技巧及代码
java的io操作都是基于流进行操作的,为了提高读写效率一般需要进行缓冲. 简单的示例程序如下: /** * 读出1.txt中的内容,写入2.txt中 * */ import java.io.*; p ...
最新文章
- python enumerate用法_【Python】python enumerate用法总结
- Doctrine官方手册 - 缓存
- Sql如何统计连续打卡天数
- midaspay能删除吗_midasPay返回90009错误
- 部署Dotnet Core应用到Kubernetes(一)
- C语言不调用库函数画一个三角形
- HTML-列表、表格、表单
- WebApp 开发中常用的代码片段
- 蓝桥杯 ADV-84 算法提高 图形输出
- app登录界面背景 css_Google flutter这么火?撸一个APP登录界面(上)
- 使用 Redis 实现一个轻量级的搜索引擎,牛x啊 !
- 定时报警器c语言程序,单片机控制的简易定时报警器电路设计(含电路图和程序)...
- 熊猫直播显示连接服务器失败,熊猫直播提示加载失败,请按“菜单键”刷新解决办法...
- css3永久放大动画,CSS3 简单的方形放大动画
- 武魂java_js及jsp.java查错的几种方式
- Linq to sql 求和操作
- 安腾处理器 oracle,英特尔展示下一代安腾处理器Poulson
- IT项目管理之第6章 项目成本管理习题选择题汇总
- ppt(office365)之起始页、目录页、结束页界面布局技巧
- Flutter 自定义导航、字体大小、颜色等
热门文章
- Oracle location,oracle秘境探索之11g tablespace prellocation
- 生存分析——KM生存曲线、hazard比例、PH假定检验、非比例风险模型(分层/时变/参数模型)(二)
- 阿里云MaxCompute中pyODPS的使用:多线程上传、下载、分区
- 笔记︱风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)
- [记录] Ubuntu 配置Apache虚拟站点
- 【1】windows下IOS开发基础环境搭建
- 俄国牛人写的开源爬虫xNet
- Java Lock的使用
- Java自定义Annotation方法
- 在Ubuntu上为Android系统内置C可执行程序测试Linux内核驱动程序