使用Java EE和Tomcat在eclipse中设置动态Web项目时出现问题

时间:2010-01-26 00:34:15

标签: eclipse maven-2 java-ee

我正在尝试一个简单的helloworld测试项目,所以我可以在它上面构建。我在Eclipse中使用带有maven的Java EE,并且在我的Web浏览器中从tomcat收到Requested reseource is not available错误。

现在我所拥有的是一个测试jsp页面来打印Hello World这就是我想要的工作。我使用命令mvn archetype:generate ..创建了一个maven项目来生成项目结构,然后将其导入Eclipse。然后我在项目中添加了一个动态Web方面。

以下是我的web.xml文件:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
<display-name>Archetype Created Web Application</display-name>

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

如何让tomcat获取我的index.jsp文件以便我可以显示它?我在web.xml文件中遗漏了什么吗?我有一个在eclipse中运行的tomcat服务器,所以这不是问题。我需要在web.xml中使用servlet映射条目吗?我真的迷失了这一切如何融合在一起。任何帮助都会很棒。

这是我用来生成maven项目的命令:

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp \
                   -DgroupId=com.mycompany.app \
                   -DartifactId=my-webapp \
                   -Dversion=1.0-SNAPSHOT 

由于

3 个答案:

答案 0 :(得分:6)

  

我使用命令mvn archetype:generate ...创建了一个maven项目来生成项目结构,然后将其导入Eclipse。然后我在项目中添加了一个动态Web方面。

您不应该添加任何方面,如果您的项目的包装类型为 war ,则应该可以正常工作。

因此,提供用于使用archetype插件创建项目的完整命令会很不错。你使用maven-archetype-webapp原型了吗?你有没有跑过这样的东西:

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp \
  -DgroupId=my.group.id -DartifactId=my-artifact -Dversion=1.0-SNAPSHOT

如果没有,那么请确保您的pom有一个<packaging>war</packaging>并且您使用战争项目的默认结构(例如,请参阅Usage)。

那么,你使用什么插件进行Eclipse集成?你是如何将项目导入Eclipse的?

如果您正在使用maven-eclipse-plugin(如果您运行eclipse:eclipse),那么您需要 为WTP support配置它。您需要在命令行上传递wtpversion(或在POM中配置插件):

mvn -Dwtpversion=2.0 eclipse:eclipse

如果您正在使用m2eclipse,那么只需将您的项目导入为Maven项目(右键单击 Package Explorer ,然后导入...&gt; Maven项目)。

在这两种情况下,您的项目都应该被识别为动态Web模块,您可以在服务器上运行)。没有任何手动配置(没有要添加的方面)。

更新:安装m2eclipse时是否安装了 Maven Integration for WTP(可选)

答案 1 :(得分:0)

您是否可以从tomcat发布日志以查看其中是否存在任何特定错误。此外,您还可以查看以下页面,其中介绍了如何将eclipse连接到Tomcat以及如何将项目从eclipse发布到Tomcat。本教程通过一个简单的Hello World示例,类似于您正在尝试开发的示例。

http://www.ibm.com/developerworks/library/os-eclipse-tomcat/index.html

答案 2 :(得分:0)

以下是您可以尝试的事情:

a)确保网址正确 - 应该是这样的http://localhost:8080/DEPLOY_NAME/index.jsp,其中DEPLOY_NAME通常是您的PROJECT_NAME *,请参阅下文。

b)确保项目已部署 - 查看服务器名称下的 Servers 选项卡(例如 tomcat v6.0 Server at localhost )并查找要在其中列出的项目/ deploy_name,如果不是,则需要运行项目以使其位于服务器上。为此,请使用 Servers 选项卡中的红色方块停止服务器,然后在导航器中选择项目,并单击绿色运行按钮,选择在服务器上运行。这将重新启动服务器并部署项目。

C)确保部署名称符合您的预期 - 如果DEPLOY_NAME与项目名称不同,则需要更新您正在使用的URL。要检查,请返回 Servers 选项卡,并在服务器名称下(例如 localhost 中的Tomcat v6.0服务器),查看Tomcat将WebApp部署为的内容。如果此名称与项目名称不同,则有两个选择:重命名或记住在测试时使用URL中的Deploy name。要重命名它,请在../.settings/org.eclipse.wst.common.component中更改它,然后查找名为 的XML标记和XML标记