GlassFish部署的WEB项目中web.xml中的wecome-file无效

sence_qi 发布于 2012/07/12 14:44
阅读 3K+
收藏 0

WEB项目打包成war包后,部署进服务器GlassFish V3.1.2,发现使用http://host-ip:port/{appname},访问会出现404错误,不能直接定位到web.xml里面指定index.jsp

web.xml welcome-file配置:

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

但是使用http://host-ip:port/{appname}/index.jsp可访问正常。

项目部署到Tomcat上使用http://host-ip:port/{appname}访问正常,为何GlassFish V3.1.2不能跳转呢

 

 

加载中
1
sence_qi
sence_qi

今天终于解决了,最终发现是GlassFishV3.1.2直接将请求发送给了SpringMVC的DispatcherServlet了,而DispatcherServlet根本不能处理请求,所以才报404,没有改其他任何代码。

这个Servlet3.0规范有关,servlet3.0中web.xml不是必须的了,由于GlassFish实现了servlet3.0规范,而我本来的tomcat6.0.25是servlet2.5规范,所以才出现了GlassFish不能转发到welcome file,而tomcat可以

南山小樵
南山小樵
原来如此。
情天大圣
情天大圣
0
sence_qi
sence_qi
我在default-web.xml中找到项目里面是可以自己设置welcome-file,stackflow 上说的是需要添加一个sun-web.xml 设置 context-root
情天大圣
情天大圣
解决后记得贴上来啊,我mark下,不应该有这么大差别的呀!
0
sence_qi
sence_qi

附 sun-web.xml 的代码

<?xml version="1.0" encoding="UTF-8"?>

<!--
 Copyright 2004-2005 Sun Microsystems, Inc.  All rights reserved.
 Use is subject to license terms.
-->

<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 8.1 Servlet 2.4//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_4-1.dtd">
<sun-web-app>
  <context-root>/appname</context-root>
</sun-web-app>

唐小_兵
问下 就是 sun-web.xml 文件的作用,是什么?为什么要这样用呢
0
南山小樵
南山小樵
部署在glassfish下的项目,访问路径问http://x.x.x.x/yy  ,如果想直接访问http://x.x.x.x 就可以访问项目,应该怎么弄呢?
返回顶部
顶部