Eclipse中运行maven服务器启动成功但是访问页面报404

Eclipse中运行maven服务器启动成功但是访问页面报404,第1张

tomcat中404异常是没有找到请求的资源。

错误原因如下:

1、路径错误

2、web.xml文件映射路径写错

3、服务器设置

4、servlet的jar包未导进去或者没有随项目发布

如如搜果是路径错误,仔细检查即可解决问题。

服务器没设置好也会报这个错误,这一般是新手刚开始学时慎烂遇到的问题,就是要把eclipse中的tomcat的server location设置为use tomcat installation,在eclipse界面双击tomcat server见如宽橡漏图设置:

在eclipse下构建maven项目,该项目由多个子模块组成。

1.创建一个父项目

NEW -->project-->maven-->maven Project,点击下一步,进入new maven Project的Select project name and location界面

,什么也不做,直弊雹接下一步到Select an Archetype界面。

在这个界面中选择maven-Archetype-site-simple,然后选择下一步,进入选择Enter a group id for the artifact的界面

,在group id 和artifact id中输入你的group和artifact名称。我用的分别是A和B,选择完成。这时会在eclipse中生成一个项目,项目名是B。

此时B的pom文件如下所示:

[html] view plain copy

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>A</groupId>

<artifactId>B</artifactId>

<version>0.0.1-SNAPSHOT</version>

<packaging>pom</packaging>

<distributionManagement>

<site>

<id>website</id>

<url>scp://webhost.company.com/www/website</url>

</site>

</distributionManagement>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

</properties>

</project>

2.创建子项目

2.1 将项目B中的src文件删除(可有可无,主要看个人需要)

2.2 选中项目B,点击右键,选择NEW -->project-->maven-->maven Module,点击下一步,在出现的界面中输入子模块的名称C,点击下一步,出现Select an Archetype界面。这时选择maven-Archetype-site-quickStart或者maven-Archetype-webapp(构建web层时使用),然后选择完成,即生成子项目C。

这时B的pom文件就变成了这样(和上面的比只是多了个modules标签):

[html] view plain copy

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>A</groupId>

<artifactId>B<租猜帆/artifactId>

<version>0.0.1-SNAPSHOT</version>

<packaging>pom</packaging>

<distributionManagement>

<site>兆裤

<id>website</id>

<url>scp://webhost.company.com/www/website</url>

</site>

</distributionManagement>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

</properties>

<modules>

<module>C</module>

</modules>

</project>

这时构建B的子项目完成,构建其他的子项目和此类似。

在构建第二个子项目D时可能在B中没有及时出现,这时只要把B项目刷新下就可以了。

ps:

其实在构建多模块的项目时,在选择父项目的类型时是可以选择任意的类型。选择项目类型的界面如下:

对于这些非常规类型的项目,如果想要成为父项目,需要做如下一些改动:

1.将pom.xml文件中的<packaging>jar</packaging>改为<packaging>pom</packaging>,若不换为pom则在打包的时候父项目会产生一个target文件;如果没有<packaging>pom</packaging>的可以在<version>0.0.1-SNAPSHOT</version>后面添加上这句话即可。

2.删除除pom.xml外的所有文件,其中JRE System Library是不能直接删除的,需要选择中,并单击右键Bulid Path-->Remove from bilud path即可移除。

这时的父项目就显得很干净整洁了。

其实在普通的项目上是不允许构建子模块的,能否在一个项目下创建子模块,主要取决于是否有<packaging>pom</packaging>这个配置。如果有这个配置则任何项目都可以创建子模块,硬要这样创建的话整个项目会变的不伦不类。看来maven在判断一个项目是否可以创建子模块其实是取决于这个配置的。

这辩塌蠢个跟是不是maven项目没有关系,导致的原因是你的springMVC配置视图解析器,但是你的控制器没有匹配的url拦截器,或者有对应的的拦截器,在拦截执行衫含的方法没有返回值,而又没有在方法内转发或者重定向导致的(因为找不到对携陪应的视图)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12536312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存