Java SpringWebMVC404错误–;作为根用户部署在webhost Tomcat服务器上

Java SpringWebMVC404错误–;作为根用户部署在webhost Tomcat服务器上,java,spring,model-view-controller,http-status-code-404,root,Java,Spring,Model View Controller,Http Status Code 404,Root,这让我快发疯了。请帮忙 我是Spring的新手,我使用sts/eclipse开发了我的第一个Spring mvc web应用程序。它在eclipse的tomcat服务器中运行良好 应用程序上下文是/realtyguide,我在eclipse的http://localhost:8080/realtyguide/ 这是我的web.xml 房地产指南 上下文配置位置 /WEB-INF/spring/root-context.xml org.springframework.web.context.Co

这让我快发疯了。请帮忙

我是Spring的新手,我使用sts/eclipse开发了我的第一个Spring mvc web应用程序。它在eclipse的tomcat服务器中运行良好

应用程序上下文是
/realtyguide
,我在eclipse的
http://localhost:8080/realtyguide/

这是我的web.xml


房地产指南
上下文配置位置
/WEB-INF/spring/root-context.xml
org.springframework.web.context.ContextLoaderListener
appServlet
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/spring/appServlet/servlet-context.xml
1.
appServlet
/
这是我的root-context.xml


以下是我的Spring应用程序servlet配置:


类路径:META-INF/hibernate.cfg.xml
org.hibernate.cfg.AnnotationConfiguration
${jdbc.dial}
真的
/WEB-INF/layouts/tiles.xml
org.springframework.web.servlet.view.tiles2.TilesView
org.springframework.web.servlet.view.JstlView
下面是我的控件的根处理程序方法

@RequestMapping(value=“/”,method=RequestMethod.GET)
公共字符串设置窗体(
@ModelAttribute(“searchFormBean”)searchFormBean searchFormBean,
(模型){
addAttribute(“searchFormBean”,searchFormBean);
//“index”是tiles.xml中的Tile定义
返回“index.tiledef”;
}
这是我的网络主机tomcat/conf/server.xml

我删除了大部分“注释掉”的内容,使其更短


我的目标 在
example.com
上打开该站点的索引页,在域名后不添加额外的
/…/

我所做的 部署为共享Web主机上虚拟主机的根目录:

我读到stackoverflow,我需要作为root部署,所以

我通过右键单击项目“realtyguide”>RunAs>Maven包将其打包到STS/Eclipse中

Webhost服务器是一个私有的Tomcat 5.5。我在我的网络主机上部署了war文件(解压后)作为虚拟主机的默认应用程序(在server.xml中使用Context
path=“
),因此我可以作为
example.com
而不是
example.com/realtyguide
访问网站

成功。至少我是这么想的。我可以在
http://example.com/

问题 访问从索引页引用的其他网页时返回404错误:

在此服务器上找不到请求的URL/realtyguide/页面名称

即使浏览器地址栏显示了完整URL为realtyguide/页面名的上下文路径

我认为该应用程序绕过了SpringDispatcherServlet,因此无法识别请求URL中的上下文路径“realtyguide”,从而导致404错误

我真不知道该怎么处理这件事

问题:

  • 如何在不破坏应用程序的情况下,将网站的索引页调到
    example.com
    而不是
    example.com/realtyguide/
    ?我尝试将index.jsp文件(在WEB-INF中)转发到上下文路径的索引,但它没有解决问题。也许我做错了

  • 我是否可以使用某种转发机制,让网站访问者进入
    example.com
    ,并立即转发到
    example.com/realtyguide/
    的索引页面,以便应用程序处理所有URL

  • 我对这个问题的思考是否正确?您以前使用过任何解决方案吗


    我非常感谢你的帮助。谢谢您的时间。

    您需要使您的web应用程序成为Tomcat的默认web应用程序。说明如下:

    完成后,使用index.jsp转发到Spring应用程序的索引是最简单的

    WAR根目录中包含以下内容的index.jsp文件应该可以执行此操作:

    <jsp:forward page="/realtyguide/" />
    
    
    
    你为什么不发布代码?如果你不给我们提供一些有助于了解问题所在的有用见解,那么就不可能帮助你……我的错。请参阅使用我的配置文件和控制器处理程序方法编辑的帖子。@nicholas.hauschild编辑了我的帖子,以包含我的网络主机的tomcat/conf/server.xml文件根据您提供的链接上的说明,我将在/webapps/ROOT目录下部署目录和文件结构。index.jsp文件的warroot是什么意思?您是指位于“/webapps/ROOT”或“/webapps/ROOT/WEB-INF”的目录吗?我只是想确定我做得对。谢谢你的帮助,我是伊迪