在servlet 中使用 request.getSession().getServletContext().getRealPath("upload/" ); 获取不到 tomcat 服务器目录

深入解析HttpServletRequest与HttpServletResponse:Java Web开发核心对象 在Java Web开发中,理解HTTP请求与响应的处理机制是构建高性能应用的基础。HTTP协议作为Web通信的基石,定义了客户端与服务器之间数据交换的格式和规则。其工作原理涉及请求的发送、服务器的解析处理以及响应的返回,这一过程直接决定了Web应用的性能和可靠性。从技术价值看,掌握请求与响应的底层处理能力,能有效解决乱码、安全过滤、文件上传等常见问题,并优化内存使用与并发性能。在应用场景上,无论是传统的Servlet、主流的Spring MVC框架,还是JSP页面,都需要高效地操作请求和响应对象。本文聚焦于 阅读详情

        今天恰好有个上传文件的练习需要使用 request.getSession().getServletContext().getRealPath("upload/" ); 获取上传到服务器上的文件路径 C:\\apache-tomcat-7.0.47\\webapps\\CommonhelloWorldServlet \\upload 的目录,结果获取到的是 D:\eclipseWorkSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\CommonhelloWorldServlet ,并不是运行时的工程存放目录,得到的反而是工作空间的项目存放路径,我觉得应该是配置的问题,经过百度之后,果然得出猜想没错,步骤如下:

1、先在编辑器界面将现有 servlet 删除,再双击旋转 tomcat 7.0 版本新建 servlet,结果如下图:


发现配置如下图,解释了为啥获取到工作空间的路径了:


修改如下:


运行代码,效果如下,正常了:



JavaWeb甜品管理系统:从零到一构建完整项目实战指南 JavaWeb开发是构建企业级Web应用的基础技术栈,其核心在于理解MVC架构模式与HTTP请求-响应模型。通过Servlet作为控制器、JSP作为视图,结合JDBC操作数据库,开发者能够实现业务逻辑与数据展示的分离。在项目实践中,数据库连接池(如HikariCP)的引入至关重要,它能有效管理数据库连接资源,避免频繁创建销毁带来的性能损耗,提升系统并发处理能力。事务管理则是保证数据一致性的关键,尤其在涉及多步操作的业务场景(如订单创建与库存扣减)中,必须确保操作的原子性。这些技术共同支撑起电商、管理后台等典 阅读详情

相关推荐

JSP购物网站源码实战:项目结构、核心模块与部署避坑指南

Java Web开发中,JSP技术是理解Web应用底层请求响应模型的基础。购物网站作为经典业务场景,涵盖用户管理、商品展示、购物车、订单等核心模块。基于JSP+Servlet+JDBC+MySQL的完整源码,通过分层架构与事务处理,能清晰展示Web应用从页面到数据库的完整链路。掌握Servlet会话管理、PreparedStatement防注入、文件上传等工程实践,有助于课程设计与毕业设计。本文以一套典型JSP购物商城源码为例,拆解项目结构,梳理搭建步骤,并针对乱码、重复提交、图片路径等常见问题进行剖析,帮

weixin_32520095的博客 279

request.getSession().getServletContext().getRealPath("/");

request.getSession().getServletContext()是获取的servlet容器对象, 相当于tomcat容器了。getRealPath("/") 获取实际路径,项目发布时, 在容器中的实际路径。 D:\apache-tomcat-8.5.23\apache-tomcat-8.0.52\wtpwebapps\Springmvc_day01\(Springmvc_day...

路在何方 1万+

告别裸机SPI!用HAL库和CubeMX重新玩转STM32与MAX6675温度传感器

本文详细介绍了如何利用STM32CubeMX和HAL库高效驱动MAX6675温度传感器,实现稳定可靠的热电偶温度监测系统。通过图形化配置SPI接口和封装专用驱动函数,开发者可以快速构建嵌入式温度测量方案,适用于工业控制、物联网设备等多种应用场景。

weixin_42525632的博客 234

获取tomcat的路径

request.getSession().getServletContext() 获取的是Servlet容器对象,相当于tomcat容器了。getRealPath("/") 获取实际路径,“/”指代项目根目录,所以代码返回的是项目在容器中的实际发布运行的根路径 ...

幻想的天空 665

Adaboost入门教程——最通俗易懂的原理介绍(图文实例)

Adaboost入门教程——最通俗易懂的原理介绍(图文实例)

Max的杂物仓 11万+

STLink驱动安装全攻略:从卸载到Keil配置的完整避坑指南

本文提供了STLink驱动安装与Keil环境配置的完整避坑指南。详细讲解了从驱动卸载、重装到Keil调试器设置的每一步,并针对常见的设备无法识别、连接不稳定等问题给出了深度解决方案,帮助开发者快速搭建稳定的STM32开发环境。

weixin_29182481的博客 424

request.getSession().getServletContext() .getRealPath("/")

request.getSession().getServletContext() 获取的是Servlet容器对象,相当于tomcat容器了。getRealPath("/") 获取实际路径,“/”指代项目根目录,所以代码返回的是项目在容器中的实际发布运行的根路径在工程的webapp下新建一个upload的目录 String imgName=pic1.getOriginalFilename();

qq_41369312的博客 1万+

用ADS2023手把手仿真SKYWORKS SMA1234变容二极管:从Datasheet到S参数结果全流程

本文详细介绍了如何使用ADS2023仿真SKYWORKS SMA1234变容二极管的全流程,从Datasheet参数解析到S参数结果验证。通过等效电路建模、关键公式编写和仿真设置,帮助工程师掌握变容二极管在射频电路设计中的应用技巧,提升仿真精度和工程实践能力。

weixin_29233333的博客 502

在servlet 中使用 request.getSession().getServletContext().getRealPath(“upload/“ ); 获取不到 tomcat 服务器目录

在servlet 中使用 request.getSession().getServletContext().getRealPath(“upload/” ); 获取不到 tomcat 服务器目录 重新设置tomcat设置 https://blog.csdn.net/earthchinagl/article/details/80457505

dudukawa的博客 376

k8s重装1.28.2+calico+踩坑收集+InPlacePodVerticalScaling

它提供了从镜像构建(通过 Dockerfile)、镜像管理(上传、下载、存储等)、容器创建、运行、网络配置(可以为容器分配自定义的网络,如 bridge 网络、host 网络等)到容器编排(通过 Docker Compose 可以简单地编排多个容器的启动和关联关系)等一整套完整的解决方案。它的核心功能是启动和管理容器的生命周期。sudo apt update这个可以经常用,是来更新软件包的,它不下载,所以没风险,但是经常会报错,别问,问就是某种强大的力量,所以用镜像或者代理或者巴拉巴拉。

SsjjsS2019的博客 2553

Oracle-如何修复undo坏快

undo出现坏快,导致数据库宕机,无法启动

qqqyyy0422的博客 570

解决在servlet 中使用 request.getSession().getServletContext().getRealPath("/upload" ); 获取不到 tomcat 服务器目录

在实现文件的上传下载时,设置上传文件的保存地址目录使用的方法是: request.getServletContext().getRealPath("/upload"); 需要注意的是,upload文件夹是放在创建的项目所在目录,而不是项目的发布路径。如果我们要去查看上传的文件,需要去工作空间的 metadata目录中寻找项目发布目录(路径为:workspace\.metadata\.plugin...

高贵的程序媛 2344

C#里使用NModbus来创建一个TCP从站服务

摘要:本文介绍了一个用C#实现的Modbus TCP从站服务器,基于.NET Framework 4.6.1开发。代码使用NModbus库创建TcpListener和ModbusSlaveNetwork,支持设置IP地址、端口号和从站ID。服务器实现了数据存储初始化功能(包括线圈和保持寄存器),并提供了启动/停止操作的UI界面和日志记录功能。该解决方案适用于需要调试Modbus TCP协议的场景,特别适合无法升级到更高版本.NET Framework的环境。

大坡3D软件开发 477

request.getSession().getServletContext().getRealPath("upload/" ); 获取不到 tomcat 服务器目录

今天恰好有个上传文件的练习需要使用 request.getSession().getServletContext().getRealPath("upload/" ); 获取上传到服务器上的文件路径 C:\\apache-tomcat-7.0.47\\webapps\\CommonhelloWorldServlet \\upload 的目录,结果获取到的是 D:\eclipseWorkSpace\....

anita9999的博客 7818

【GameFramework框架内置模块】15、场景(Scene)

场景(Scene)模块,提供场景管理的功能,负责场景的加载、卸载、切换和管理。可以方便地管理不同场景之间的切换以及不同场景之间的信息传递。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1883

温度PID控制PLC程序

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

关于web项目地址获取(MultipartFile)

request.getSession().getServletContext() 获取的是Servlet容器对象,相当于tomcat容器了。getRealPath("/") 获取实际路径,“/”指代项目根目录,所以代码返回的是项目在容器中的实际发布运行的根路径在工程的WebContent下新建一个upload的目录// 文件保存路径 String filePath = realPath + "up

Islandww的博客 4476

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

JavaWeb

HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。文本:html,字符串…超文本:图片,音乐,视频,定位,地图…默认端口:80HTTPS:安全的协议默认端口:443(1).Servlet就是sun公司开发动态web的一门技术。(2).Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤:一.编写一个类,实现Servlet接口;二.把开发好的Java类部署到web服务器中。

2301_76556912的博客 1007

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

JavaWeb课程设计:从零到一构建电商购物商城(附源码与部署指南)

本文详细介绍了从零开始构建JavaWeb电商购物商城的课程设计全过程,涵盖技术选型、系统架构设计、核心功能实现及部署指南。通过Servlet+JSP技术栈,结合MySQL数据库,实现用户模块、商品模块和购物车模块等核心功能,适合JavaWeb初学者实战练习。附完整源码与部署说明,助力开发者快速掌握电商项目开发。

lvwenwen 443

Java JSP校园商城毕设实战:从MVC架构到数据库设计完整指南

Java Web开发是构建动态网站的核心技术,其基于Servlet和JSP的MVC架构模式,通过分离模型、视图和控制器,实现了业务逻辑与表现层的解耦,提升了代码的可维护性和可扩展性。这一原理在电子商务、内容管理系统等应用场景中价值显著,尤其适合需要快速验证业务逻辑的中小型项目。本文以校园水果鲜花商城这一经典毕设项目为例,深入解析如何运用JSP、Servlet、JDBC及MySQL数据库连接池等关键技术,实现用户认证、商品管理、购物车及订单处理等核心功能。通过结合数据库连接池优化资源管理,并利用JSTL标签库

weixin_34378767的博客 372

Java:111-SpringMVC的底层原理(中篇)

如果需要补充,自行补充吧 对应的web.xml: index.jsp: springmvc.xml: entity里面的User类: test类: 自行配置tomcat,启动,运行看看结果,那么我们基础操作搭建完毕,现在我们来操作一下拦截: 在com包下创建Interceptor包,然后创建MyInterceptor类: 其中HandlerInterceptor接口如下: 这三个代表了三个地方,前面的三个拦截,比如: preHandle是第一个拦截,postHandle是第二个拦截,after

qq_59609098的博客 1304

SSM框架新闻管理系统实战:从架构设计到部署优化

在Java Web开发领域,SSM(Spring + Spring MVC + MyBatis)框架组合是理解企业级应用架构的经典基石。其核心原理在于通过Spring的IoC(控制反转)容器管理对象生命周期,利用AOP(面向切面编程)处理横切关注点,并结合Spring MVC的MVC模式处理Web请求,以及MyBatis作为半自动化ORM实现数据持久化。这种组合的技术价值在于,它让开发者能够深入理解框架底层的工作机制,为后续掌握Spring Boot等高级框架打下坚实基础。在典型的应用场景中,如内容管理系统

chulilang8944的博客 334

springmvc

三层架构表现层: 接收请求响应用户 servlet – springMVC业务层:处理业务,事务 自己写业务层 – spring 管理业务层持久层: 对数据库进行增删改查操作 jdbc – dbutils --jdbcTemplate – mybatis – spring dataMVC设计模式M:model 模型:封装数据 广义:业务模型层 = dao + service + domainV:view 视图:展示数据 广义:能展示数据都是视图:jsp, html ,pdf ,f

梦想是很难很难的,所以先勇敢一点 575

JavaWeb中的路径

String saveDirString = request.getSession().getServletContext().getRealPath("upload"); //saveDirString 为 tomcat目录\webapps\web应用名\+upload

用文章记录成长 849
上一篇: 从request获取各种路径总结 request.getRealPath("url"); // 虚拟目录映射为实际目录 request.getRealPat
下一篇: jsp 中实现分页的类模板
yibin94
博客等级 码龄11年 78粉丝 158原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值