在Java代码(非JSP及Action,Servlet,Controller)中获得WebRoot的物理路径

JavaWeb底层实战:手写Servlet+JSP+MySQL实现MVC购书系统 MVC架构是JavaWeb开发的核心范式,其本质是请求响应链路中职责分离与数据流转的工程实践。理解Servlet生命周期、JSP编译机制、JDBC连接管理及MySQL事务边界,是掌握传统JavaWeb技术栈的关键基础。本文聚焦裸写Servlet而非Spring Boot封装场景,深入解析HTTP请求如何穿透Tomcat容器、触发Controller调度、经Service层事务控制、最终由DAO操作MySQL并渲染JSP视图。涵盖JDK8/Tomcat9/MySQL8环境适配、ThreadLocal连接绑定、 阅读详情

在开发Web方面的应用时, 经常需要获取 服务器中当前WebRoot的物理路径;

如果是Servlet , Action , Controller, 或则Filter , Listener , 拦截器等相关类时, 我们只需要获得ServletContext, 

然后通过ServletContext.getRealPath("/")来获取当前应用在服务器上的物理地址.


如果在类中取不到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的物理路径 


根据第二种的思路,我们还可以再扩展一下。不过对于在部署在一台服务器中的应用来说,已经足够了。
在线酒店管理系统Java Web实战:JSP+Servlet+MySQL+Tomcat全链路解析 Java Web开发中,JSP与Servlet作为经典的服务端技术组合,承载着从HTTP请求解析到动态页面渲染的完整链路。理解一次浏览器请求如何经过Servlet控制器、JDBC数据库访问和JSP视图呈现,是掌握MVC分层架构的关键。这类技术栈在高校课程设计、毕业设计以及中小型内部管理系统中依然广泛使用,因为其代码结构透明、依赖简单,适合快速实现业务闭环。以在线酒店管理系统为例,它围绕用户、房型、房间、订单四张核心表,借助Tomcat容器完成部署,实现用户预订、后台管理等典型场景。从数据库初始化到JDBC配 阅读详情

相关推荐

基于SSM+JSP+MySQL的健身俱乐部网站毕业设计:搭建到答辩全攻略

在Java Web开发领域,SSM(Spring+Spring MVC+MyBatis)与JSP、MySQL的组合是一套经典的工程化技术栈。其核心原理是通过Spring管理业务对象、Spring MVC处理请求分发、MyBatis完成数据持久化,再借助MySQL存储业务数据,最终由JSP在服务端渲染页面。这套架构的价值在于三层职责清晰、代码可维护性强,尤其适合中小型业务系统的快速落地。在高校毕业设计场景中,健身俱乐部网站恰好覆盖了会员管理、课程预约、私教订单等典型业务,既能体现数据库外键关系,又能展示事务控

weixin_27966471的博客 269

controller中获取当前项目物理绝对路径

用HttpServletRequest request获取 request.getSession().getServletContext().getRealPath(""); 上面马赛克的就是项目名称 转载于:https://www.cnblogs.com/xiaostudy/p/10956401.html...

weixin_30933531的博客 1161

SSM宠物管理系统实战:从源码部署到二次开发避坑指南

在Java Web开发中,SSM框架(Spring、SpringMVC、MyBatis)是经典的三层架构组合,它通过控制反转、依赖注入和持久层映射,将业务逻辑、请求路由与数据访问解耦,是理解企业级Java项目的基础。这种架构广泛应用于高校课程设计和毕业设计场景,尤其在管理类系统中,能快速搭建功能完整的后台应用。本文以一套宠物管理系统为例,详细拆解SSM整合的完整调用链,从Action类的继承关系、Spring容器装配、MyBatis动态SQL到Layui表格对接,讲解如何从源码角度理解项目结构。随后给出My

weixin_33824385的博客 273

servlet得到webroot路径

servlet得到webroot路径 //file:/F:/WorkSpace/Myeclipse_Workspace_1/.metadata/.me_tcat7/webapps/Hello/WEB-INF/classes/ String classessPath = this.getClass().getResource("/").toString(); //F:/WorkSpace/Myeclipse_Workspace_1/.metadata/.me_tcat7/webapps/Hello/WEB-I

wu964521的博客 373

《AI应用架构师智能特征工程实践的前沿趋势解读》

面对传统方法的局限性,智能特征工程(Intelligent Feature Engineering)应运而生。智能特征工程是指利用人工智能、机器学习和自动化技术,实现特征提取、构造、选择和优化过程的自动化、智能化和可扩展化的方法和技术体系。效率提升:将数据科学家从繁琐的人工特征工程中解放出来,大幅缩短特征开发周期。质量保障:通过系统化方法发现人类难以察觉的特征模式,提高特征质量和模型性能。可扩展性:能够处理大规模、高维度和多类型的数据,适应不同领域和场景。降低门槛。

大数据洞察的博客 1181

别再折腾框架了!用华为应用市场官方渠道搞定GBOX,安全安装谷歌全家桶(鸿蒙HarmonyOS 3/4实测)

本文详细介绍了如何在鸿蒙系统上通过华为应用市场官方渠道安全安装GBOX,实现谷歌全家桶的无损使用。该方法避免了传统破解方式的安全风险,利用沙箱技术隔离运行环境,确保系统稳定性和数据安全。特别适合鸿蒙HarmonyOS 3/4用户安全使用谷歌生态应用。

weixin_29305313的博客 4823

java学习-Controller获取当前项目路径

String path = request.getServletContext().getRealPath("");//获取项目动态绝对路径  

阿泷的学习日志 6508

第1关:STL模板之queue实例一:最少个数

头歌自创答案

xiyunSacire的博客 819

jsp和Controller服务器获取路径

Controller:服务器路径 // 获得项目的路径 ServletContext sc = request.getSession().getServletContext(); // 上传位置 String path = sc.getRealPath("/img") + "/"; // 设定文件保存的目录 jsp 一:获取路径:访问路径 jsp中访问后台需要...

Zsysu_it的博客 3438

Python 爬虫实战:手机应用商店评论数据爬取与分析

移动应用市场蓬勃发展,用户的评论数据包含了大量有价值的信息,如用户满意度、功能反馈、改进建议等。通过分析这些评论,我们可以挖掘应用的优缺点,甚至预测用户趋势。由于 Apple App Store 评论是动态加载的,我们使用。本篇博客将详细介绍如何使用 Python 爬取。爬取大量数据时,可能会遇到反爬机制。库获取 Google Play 评论。评论数据是动态加载的,需要使用。

2201_76125261的博客 2323

2026年高教社杯数学建模国赛A题解题思路:从物理方程推导到MATLAB高效求解的全流程实战指南

□所有代码能够从头运行到尾,不报错(清除workspace重新跑一遍)□论文中的每个图号、表号、公式编号与正文引用一致□附录中附上核心代码(注意:不是全部代码,而是关键求解器和后处理部分)□支撑材料压缩包包含完整代码、数据文件、README说明□摘要字数严格控制在1000字以内,突出创新点和核心结果□。

YOLO 111

MVC中获取当前URL、controller、action

一、URL的获取很简单,ASP.NET通用: 【1】获取完整url(协议名+域名+虚拟目录名+文件名+参数) stringurl=Request.Url.ToString(); ...

congquangan1125的博客 517

ue 打包linux程序 在windows系统 2026

ue 打包linux程序 在windows系统 2026

jacke121的专栏 372

java非jsp_在Java代码(非JSP及Action,Servlet,Controller)中获得WebRoot的物理路径

在开发Web方面的应用时, 经常需要获取 服务器中当前WebRoot的物理路径;如果是Servlet , Action , Controller, 或则Filter , Listener , 拦截器等相关类时, 我们只需要获得ServletContext,然后通过ServletContext.getRealPath("/")来获取当前应用在服务器上的物理地址.如果在类中取不到ServletCont...

weixin_34463228的博客 199

基于Simulink环境,提供一个关于如何对EMI抑制的DC-DC变换器进行仿真建模的示例

EMI定义:电磁干扰是指任何能中断、阻碍、降低或限制电气设备有效性能的电磁能量。重要性合规性:确保产品符合国际和地方的EMC标准。可靠性:减少因外部或内部EMI导致的系统故障风险。挑战滤波设计:合理设计输入输出滤波器以抑制传导EMI。布局与接地:良好的PCB设计对于减少辐射EMI至关重要。屏蔽:使用金属屏蔽来保护敏感电路不受外界干扰。首先明确要模拟的任务内容。设计一个能够在高频操作下有效抑制EMI的DC-DC变换器。根据工作频率和谐振元件值确定合适的滤波器参数。

xiaoheshang_123的博客 148

从零开始跑通3DGS教程:(三)坐标系与尺度编辑(CloudCompare)

本文所属《从零开始跑通3DGS教程》系列文章; sfm重建的点云已经丢掉了尺度信息,并且坐标系跟图像数据有关(SFM初始化选择的图像),所以如果想恢复物理真实尺度,以及在想要的视角下渲染,那么需要对尺度和坐标系进行编辑修正,下文介绍如何使用CloudCompare修改坐标系和尺度

诺有缸的高飞鸟的博客 2872

MyEclipse及Tomcat的配置

文章来源:http://www.cnblogs.com/smyhvae/p/4134921.html 【开发环境】物理机版本:Win 7旗舰版(64位)jdk版本:jdk1.8.0_20MyEclipse版本:10.7.1Tomcat版本:apache-tomcat-7.0.57一、Servlet的基本概念:Servlet是sun提供的一种动态web资源开发技术.本质上就是一段java小程序.可以

啦啦啦的博客 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Java web项目中获取WebRoot绝对目录

具体获取方式: /** * * @return WebRoot目录的绝对路径 */ public static String getWebRootAbsolutePath() { String path = null; String folderPath = Path.class.getProtectionDomain().getCodeSource() ...

wanggp 1469

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ServletContext对象获取当前工程资源(webapps或者webroot下资源)

//读取工程工程下面images文件夹的图片向浏览器输出 public class ImageServlet_02 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExcept...

isjun26 878

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: Java web 项目读取src或者tomcat下class目录下的xml文件或者properties文件
下一篇: 数据库分库分表(sharding)系列
JavaAlpha
博客等级 码龄18年 910粉丝 511原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值