spring MVC web app在Windows上完美运行,但在Linux上运行不正常

时间:2017-06-23 10:53:28

标签: java linux spring spring-mvc tomcat

您好:

我是Spring MVC web开发的先驱。最近我使用Spring MVC框架编写了第一个Web应用程序,但没有任何.xml配置(纯Java注释配置),我的web.xml看起来像图here。而且这很奇怪,因为Web应用程序在Windows上使用Tomcat但在Linux上运行不正常。

具体来说,当它在Linux上运行tomcat(Ubuntu或Redhat)时,我可以通过在其他机器上输入ip:port而不是我web项目中index.jsp的第一页来查看tomcat的欢迎页面。如果我在Web项目中请求其他URL,则会回复404错误。

所以我认为,显然,Web应用程序还没有加载到tomcat(为非专业描述道歉)。我将项目注入tomcat的方式与Windows相同,后者将war包复制到webapps文件夹中。我甚至可以在启动tomcat后看到解压缩的文件夹,这意味着小老虎确实认出了它,对吗?而环境变量(jdk或tomcat)的问题不是问题,因为tomcat确实启动了。

我想,原因是,我的web.xml文件中没有任何内容,因为我使用纯Java注释方法配置,导致tomcat不知道要加载哪个servlet ~~(纯猜XD)。或者是否有任何特定的Linux需要为此配置?我很困惑。

gihub上这个项目的存储库是here

如果您对此问题有任何疑问,请帮助我。

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试在web.xml中初始化servlet,

<servlet>
    <servlet-name>Name</servlet-name>
    <servlet-class>ServletClass</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>

然后将该servlet映射到JSP

<servlet-mapping>
    <servlet-name>Name</servlet-name>
    <url-pattern>/samplePage</url-pattern>
  </servlet-mapping>

然后你可以找到页面,

http://localhost:8080/ProjectName/samplePage.jsp