如何在Apache服务器中托管spring应用程序?

Ann*_*mer 3 apache jsp spring-mvc xubuntu

我知道这很长但请耐心等待......

我正在使用xubuntu.我有一个名为Fitness Tracker的spring mvc项目.它有一个标准的目录结构.我在我的机器上也有apache2,我使用命令行安装.我在sites-available目录中创建了一个名为default1的文件,其中包含以下代码:

<VirtualHost *:80>
 ServerName east.example.org
 DocumentRoot /var/www/hello/FitnessTracker/src/main/webapp/WEB-INF/jsp  
<Directory /var/www/hello/FitnessTracker/src/main/webapp/WEB-INF/jsp>
Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我的httpd.conf包含以下代码

ServerName localhost     
DirectoryIndex hello.jsp
Run Code Online (Sandbox Code Playgroud)

Additioanlly,我的Spring控制器名称是Hello Controller,它包含以下代码: -

package com.pluralsight.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloController {

    @RequestMapping(value="/greeting")
    public String sayHello(Model model)
{
        model.addAttribute("greeting", "Hello World");
        return "hello";
}
}
Run Code Online (Sandbox Code Playgroud)

现在当我在浏览器的地址栏中键入east.example.org时,我会得到hello.jsp页面,其中包含hello.jsp页面的代码(iespring mvc代码和html代码).

我的要求是当我启动我的apache服务器并在浏览器的地址栏中键入east.example.org时,我想显示greeting.html页面.如何才能做到这一点??请注意,没有名称greeting.html的页面.但是当我们请求greeting.html页面时,Spring允许我们将请求路由到hello.jsp页面.

PS我在jsp页面中使用了spring标签.如何才能访问greeting.html页面?

小智 6

  • Apache - 是一个Web服务器.

  • Tomcat - 是一个应用程序服务器(Servlet容器).

Apache无法托管servlet,只能通过Tomcat,Jboss等Servlet容器来完成.

请参阅 Apache HTTP Server和Apache Tomcat之间的区别?