Spring mvc项目,使用jetty插件和tomcat路径相差一个项目名

Posted Flink菜鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring mvc项目,使用jetty插件和tomcat路径相差一个项目名相关的知识,希望对你有一定的参考价值。

pom.xml:

jetty 插件配置:

<plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <version>6.1.5</version>
                <configuration>
                    <scanIntervalSeconds>1</scanIntervalSeconds>
                    <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>
                    <scanIntervalSeconds>3</scanIntervalSeconds>
                    <contextPath>/</contextPath>
                    <connectors>
                        <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                            <port>8088</port>
                        </connector>
                    </connectors>
                </configuration>
            </plugin>

WelcomePage:

@Controller
@RequestMapping("/")
public class WelcomePage {
    public String index(){

        return "../index";
    }
    @RequestMapping("index")
    public String index2(){

        return "index";
    }

    @RequestMapping("login")
    public String login(){

        return "index";
    }

    @RequestMapping("calctime")
    public String init(){

        return "/calctime/calctime";
    }

}

 

以前一直是使用maven 命令启动的项目,还有点奇怪在访问的时候,使用:

localhost:8088/index

就可以访问页面了,其他的页面也类似,不需要使用项目名。

----------------------分割线------------------------------

昨天,弄了个vps,就把项目部署上去了,使用的是tomcat

tomcat启动正常,也没有保存,但是就是连不上服务器。

抱着试一试的心态,就加了个项目名称

ip:8080/project_name/index

访问正常,但是其他页面都打不开了

报错都是404,找不到。

检查了一下,发现所有请求都没有带项目名,当然url都不会有项目名。

自然都访问不到。

加上项目名,其他的连接访问正常。

正准备都改一下,突然发现,在本地又不能访问了。

这就尴尬了,不加项目名,服务器上不能访问,加了项目名,本地又访问不到

突然想到,开发用jetty,部署用tomcat的多了去了

以前的项目,也没用这样的问题。

总是不能太傻。

看了一下jetty的配置:

<plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <version>6.1.5</version>
                <configuration>
                    <!--hot deploy-->
                    <scanIntervalSeconds>1</scanIntervalSeconds>
                    <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>
                    <scanIntervalSeconds>3</scanIntervalSeconds>
                    <contextPath>/project_name</contextPath> <!-- war包的名称-->
                    <connectors>
                        <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                            <port>8088</port>
                        </connector>
                    </connectors>
                </configuration>
            </plugin>

改一下,contextPath 的配置就好了。

这样,项目的访问路径就加上了项目名,本地和服务器上一致,又可以愉快的玩耍了。。

 

以上是关于Spring mvc项目,使用jetty插件和tomcat路径相差一个项目名的主要内容,如果未能解决你的问题,请参考以下文章

Embedded Jetty 无法识别 Spring MVC 安全性

Spring MVC 注释。 + Jetty 9 + 查看解析器 - 找不到 jsp 页面

网页未找到。 Spring MVC + 码头

如何用jetty maven插件运行web项目

了解 Spring MVC 中的上下文

如何在 Maven/Mortbay Jetty 插件中使用 https / ssl?