如何在Eclipse Galileo中创建Struts 2项目?

时间:2010-02-21 02:33:49

标签: java eclipse struts2

我想在eclipse中创建一个struts 2项目。我已经下载了最新的struts发行版。但是当我尝试在ECLIPSE中创建一个struts项目时,事情总是变得混乱。 每当我创建一个动态Web项目并向该项目添加struts库时,会弹出一些错误或其他错误。

如何正确设置eclipse Struts 2项目?

为了得到一个简单的Hello world页面,我做了:

  1. 创建了一个动态Web项目(procollab)
  2. 在WEB-INF / lib
  3. 中添加了struts 2个jar
  4. 在项目构建路径中添加了相同的库
  5. 在WEB-INF / classes
  6. 中设置src的输出文件夹
  7. 在web.xml中创建了一个过滤器,用于将所有请求发送到org.apache.struts2.dispatcher.FilterDispatcher
  8. 在src
  9. 中创建了一个struts.xml

    我得到的错误:

    Http 404.我得到任何网址,例如http://localhost:8080http://localhost:8080/procollab

    我在eclipse中也在tomcat服务器列表中添加了项目procollab。但是当我直接访问任何静态资源时,我得到了页面。我在webcontent文件夹中有helloworld.jsp,当我转到http:localhost:8080 / procollab / helloworld.jsp时,我正确地得到了页面。

    我是否正确设置了环境?请帮忙

    WEB-INF / classes中的struts.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
        "http://struts.apache.org/dtds/struts-2.1.7.dtd">
    
    <struts>
        <package name="default" namespace="/" extends="struts-default">
            <action name="SayHello">
                <result>/hello.jsp</result>
            </action>
    
        </package>
    
    </struts>
    

1 个答案:

答案 0 :(得分:2)

  

Http 404.我得到任何网址,例如http://localhost:8080http://localhost:8080/procollab

这是唯一的问题吗?好吧,404只是意味着请求的URL上没有资源。网页未找到。就那么简单。您需要自己提供/指定资源,Eclipse不会为您执行此操作。这是你自己掌控的代码。

我不确定您期望在http://localhost:8080看到什么,所以我会忽略这一部分。对于http://localhost:8080/procollab上的404,您只需要在<welcome-file>中定义web.xml,并确保通过servlet或过滤器映射直接使用(in),或者WebContent中的物理文件。就是这样。

如果您想将helloworld.jsp设为默认目标网页,则需要将以下内容添加到web.xml

<welcome-file-list>
    <welcome-file>/helloworld.jsp</welcome-file>
</welcome-file-list>

更新:根据发布的struts配置,您希望在访问http://localhost:8080/procollab/SayHello.action时执行http://localhost:8080/procollab。在这种情况下,您需要按如下方式配置<welcome-file>

<welcome-file-list>
    <welcome-file>/SayHello.action</welcome-file>
</welcome-file-list>