jzq1999 2009-01-16 13:27
浏览 405
已采纳

struts+spring开发整合时action中的servlet为null

[size=medium]目前的项目用到struts1.2+spring2.0进行整合开发,Action继承了struts的dispatchAction,然后在配置文件中使用了spring的代理机制对它进行管理,可是在Action中使用String dir=servlet.getServletContext().getRealPath("/StrengthFiles/honor"); 报空指针异常,输出 System.out.println(servlet); 打印也是null,如果不用spring来管理struts的action,则servlet输出有效值,这是怎么回事? 请遇到过同样问题的朋友帮忙解决,谢谢![/size]
[b]问题补充:[/b]
ServletContext application = getServletContext();

这一句在程序里还是报错,getServletContext()在程序里不支持,改成
ServletContext application = (ServletContext) getServlet();
后,输出:
Servlet.service() for servlet action threw exception
java.lang.IllegalArgumentException: ServletContext must not be null
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext(WebApplicationContextUtils.java:54)
at com.abbcc.customer.TestAction.execute(TestAction.java:25)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
[b]问题补充:[/b]
[size=small]HttpServletContext还是不行 [/size]

  • 写回答

4条回答 默认 最新

  • laitaogood 2009-01-16 17:45
    关注

    ServletContext servletContext = request.getSession().getServletContext();

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)