博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
修改上传功能时遇到的问题
阅读量:4447 次
发布时间:2019-06-07

本文共 1142 字,大约阅读时间需要 3 分钟。

问题描述:使用s2时,页面使用<input>在action中实现了接口ServletRequestAware。使用set方式注入获取request

public class XXController extends BaseAction implements ServletRequestAware{
  public HttpServletRequest req;

   @Override

   public void setServletRequest(HttpServletRequest req) {
    this.req= req;

   }

}

(注:以上为改别人代码 保持代码原样。项目开发中个人认为不应该这样去获取request,详细文档参考struts2官方教程)

在获取上传绝对路径处,代码如下:

rootPath =request.getSession().getServletContext().getRealPath("/") System.out.println(rootPath);

输出结果:

  D:\workspace\xx\webroot\

---------------------------------------------分割线---------------------------------

以上结果是在XP环境下测试。问题来了,本人电脑是WIN7,在测试上传功能时候返回500错误(有缓存图片的路径,自定义异常,所以服务器这里返回500)。测试后发现,win7系统下(旗舰版)输出结果为:

  D:\workspace\xx\webroot

所以以为了是系统的问题。但是突然想起(A君,暂时叫A君好了)可能使用的是Tomcat做开发,而本人使用的是Jetty开发。于是又换容器测试。最终发现,果然是容器的问题。

问题:同样实现了Servlet标准为什么容器不同路径不同呢?待查出答案啊。!!!!

----------------------------------------坑爹的分割线------简直就是坑爹-----------------

由于改别人代码 不敢乱动啊,所以记录下。另外说明下,action里获取request本人推荐方法是:      ServletActionContext.getRequest().getSession().getServletContext().getRealPath("/")

说明:因为使用情况不同,所以本人用这种方法较多。

转载于:https://www.cnblogs.com/GYoungBean/archive/2012/09/10/2679140.html

你可能感兴趣的文章
那些容易忽略的事(1) -变量与运算符+
查看>>
九度oj 题目1252:回文子串
查看>>
面向对象
查看>>
移动端调用电话、短信、唤起QQ和使用百度地图
查看>>
开发时间及内容(二)
查看>>
C++primer 10.2.1节练习
查看>>
perl 执行mysql select 返回多条记录
查看>>
mojo 关闭utf8
查看>>
tomcat架构分析(valve机制)
查看>>
消息队列RabbitMQ基础知识详解
查看>>
接口、抽象类、方法复写、类Equals方法重写
查看>>
快学Scala习题解答—第十章 特质
查看>>
Ffmpeg 定位文件(seek file)
查看>>
数据结构与算法随学随记
查看>>
微软Azure已开始支持hadoop--大数据云计算
查看>>
统计_statistics_不同的人_大样本_分析_统计方法_useful ?
查看>>
wampserver 绑定域名 外部可以正常访问
查看>>
将博客搬至CSDN
查看>>
sqoop/1.4.6/下载
查看>>
https协议及与http协议的比较
查看>>