Struts 1.1与Servlet 2.4的资源路径问题

原创 2006年06月08日 17:27:00
现象:

应用程序发布在WebSphere Application Server 5.x上可以正常运行,但当这个应用程序发布到WebSphere Application Server 6.0上时,出现下面的错误:
ActionServlet E TRAS0014I:
下列异常已记录 java.net.MalformedURLException: SRVE0238E: 资源路径应该以斜杠开头
at com.ibm.ws.webcontainer.webapp.WebApp.
getResource(WebApp.java:1915)
at com.ibm.ws.webcontainer.facade.
ServletContextFacade.getResource
(ServletContextFacade.java:100)
at org.apache.struts.action.ActionServlet.
parseModuleConfigFile(ActionServlet.java:1002)
at org.apache.struts.action.ActionServlet.
initModuleConfig(ActionServlet.java:955)
at org.apache.struts.action.ActionServlet.
init(ActionServlet.java:470)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at com.ibm.ws.webcontainer.servlet.
ServletWrapper.init(ServletWrapper.java:262)
at com.ibm.ws.webcontainer.servlet.
ServletWrapper.initialize(ServletWrapper.java:1319)
at com.ibm.wsspi.webcontainer.extension.
WebExtensionProcessor.
createServletWrapper(WebExtensionProcessor.java:84)
at com.ibm.ws.webcontainer.webapp.WebApp.
getServletWrapper(WebApp.java:745)
at com.ibm.ws.webcontainer.webapp.WebApp.
initializeTargetMappings(WebApp.java:493)
... ...

WebExtensionP W Servlet action is currently
unavailable: Parsing error processing resource path

WebExtensionP E SRVE0026E: Servlet 错误]-
javax.servlet.UnavailableException:
Parsing error processing resource path
at org.apache.struts.action.ActionServlet.
handleConfigException(ActionServlet.java:1035)
at org.apache.struts.action.ActionServlet.
parseModuleConfigFile(ActionServlet.java:1010)
at org.apache.struts.action.ActionServlet.
initModuleConfig(ActionServlet.java:955)

at org.apache.struts.action.ActionServlet.
init(ActionServlet.java:470)

原因:这是由于在 Struts 1.1 中,获得资源路径时,前面不带斜线( / ),但在Servlet 2.4规范中,要求在获得一个资源路径时,路径必须是相对与当前上下文根并以斜线( / )开头。
WebSphere Application Server 5.x中允许资源的URL不是以斜线( / )开头,但在WebSphere Application Server 6.0中,使用的是Servlet 2.4的规范,为了保持兼容性,需要在web容器中添加一个prependSlashToResource的属性来避免错误。

解决办法:

具体步骤:
登陆 WebSphere 管理控制台,进入 服务器->对应的服务器名称 -> WEB容器 -> 其他属性 ->添加
添加下面的属性:
名称:prependSlashToResource
值:true

然后保存配置,重新启动WebSphere Application Server

版权声明:本文为博主原创文章,未经博主允许不得转载。

struts.xml的加载路径及配置问题

本人在配置在使用struts2整合spring时,把配置文件struts.xml放在WEB-IN下时,出现请求无效,当把struts.xml放在src下时有正常了, struts.xml一般不是放在W...
  • u011598529
  • u011598529
  • 2015年03月29日 13:27
  • 1341

Spring MVC程序中怎么得到静态资源文件css,js,图片文件的路径问题

问题描述 在用springmvc开发应用程序的时候。对于像我一样的初学者,而且还是自学的人,有一个很头疼的问题。那就是数据都已经查出来了,但是页面的样式仍然十分简陋,加载不了css.js,图片等资源...
  • u013412790
  • u013412790
  • 2016年05月12日 17:05
  • 4420

Struts2 静态资源映射

在struts2框架中有一些它所需要的公共的静态内容,比如说js文件和一些css文件。当框架需要这些静态内容的时候,FilterDidpatcher会自动提供给我们。那么FilterDidpatche...
  • z69183787
  • z69183787
  • 2015年08月27日 12:53
  • 3268

页面中的资源的路径问题

  • 2012年11月21日 01:28
  • 597KB
  • 下载

servlet资源路径加载详解(3)

1.对于servlet的读取资源文件,要考虑工程文件路径和tomcat服务器的部署后的文件,所以一定要弄清楚加载文件路径位置,同时要考虑采用哪种方式: 一般有三种方式: (1).采用传统方式即jd...
  • u011662320
  • u011662320
  • 2014年07月28日 13:51
  • 809

Servlet案例之统计访问量与获取类路径下资源

一个项目中所有的资源被访问都要对访问量进行累加 创建一个int类型的变量,用来保存访问量,然后把它保存到ServletContext的域中,这样可以保证所有Servlet都可以访问到这个访问量是整个...
  • tec_sun
  • tec_sun
  • 2017年07月24日 17:25
  • 139

mysql处理中文要注意的、servlet生命周期、容器如何处理请求资源路径

MVC上个博文写的emp管理的MVC servlet是控制器。 视图是jsp 模型就是java类和dao ///////////////////////////////////////////...
  • qq_28295425
  • qq_28295425
  • 2016年11月21日 21:02
  • 415

给webapp路径里的静态资源加时间戳[JS和CSS],Java自定义标签和Servlet的配置

前几日做了一个很小的功能,一般工程启动后,为了能防止浏览器不缓存那些静态资源,比如js和css文件,一般的思路是在引用那些文件的路径后面增加一个时间戳,例如: 本来是下面这样的, 但,这样的话如...
  • xinlang_yunyang
  • xinlang_yunyang
  • 2013年12月19日 18:58
  • 2714

Servlet中获取类路径下资源

Servlet中获取类路径下资源 类路径对一个javaweb应用而言,就是WEB-INF/classes下和WEB-INF/lib目录下的所有jar文件。 将一个javaweb项目发布到Tomca...
  • chentiefeng521
  • chentiefeng521
  • 2017年02月26日 17:41
  • 225

servlet与Struts action线程安全问题分析(pdf)

  • 2008年06月24日 14:49
  • 130KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts 1.1与Servlet 2.4的资源路径问题
举报原因:
原因补充:

(最多只允许输入30个字)