Struts2& NetBeans 7

时间:2011-04-19 14:57:36

标签: netbeans struts2 netbeans-7

我找不到任何针对NetBeans 7的ngbit支持。我必须为我的Web应用程序开发安装Struts2。对于NetBeans 6.9,我的旧版ngbit 0.4工作正常,但对于NetBeans 7不起作用。由于HTML5,我需要NetBeans 7.

当我尝试安装 org-netbeans-modules-web-frameworks-struts2.nbm 时,NetBeans会出现以下错误:

某些插件需要安装插件编辑器库。 插件编辑器库在版本> = 2.10.1.10.2(发行版本2)中请求,但仅发现3.8.1.13.8(发行版本不同于2)。
以下插件受到影响: Struts2支持

感谢。

2 个答案:

答案 0 :(得分:10)

如果您熟悉在NB中使用maven,请按照http://struts.apache.org/2.2.1.1/docs/create-struts-2-web-application-using-maven-to-manage-artifacts-and-to-build-the-application.html

进行操作

你很快就会有一个S2项目。 (我正在使用带有Struts2的NB7)

如果您有任何困难,请告诉我。

编辑:如何使用Netbeans 7 GUI创建新的Struts2 Maven Web应用程序。

1)文件>新项目,分类:Maven>在Projects:Web Application>下下一个>在“名称和位置屏幕”上按照您想要的方式填写内容......

2)编辑:通过更新在线存储库的状态,您不需要再添加任何其他存储库,请跳至#3 。如果有人需要,我会留下以下内容作为参考。

现在在左侧,您应该会在“项目”窗格中看到一个新项目。展开“Project Files”并打开pom.xml。

现在这个文件解释了如何构建你的项目...帮助你添加依赖关系,我们将告诉maven几个可用于搜索jar文件的在线存储库

找到</properties><dependencies>之间的空白行,并将以下内容粘贴在它们之间......

<repositories>
    <repository>
        <id>JBoss Repo</id>
        <url>http://repository.jboss.com/maven2</url>
        <name>JBoss Repo</name>
    </repository>
    <repository>
        <id>ibiblio mirror</id>
        <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
    </repository>
    <repository>
        <id>jboss-public-repository-group</id>
        <name>JBoss Public Maven Repository Group</name>
        <url>https://repository.jboss.org/nexus/content/groups/public/</url>
        <layout>default</layout>
        <releases>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
        </releases>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
        </snapshots>
    </repository>
    <repository>
        <url>http://ftp.ing.umu.se/mirror/eclipse/rt/eclipselink/maven.repo</url>
        <id>eclipselink</id>
        <layout>default</layout>
        <name>Repository for library Library[eclipselink]</name>
    </repository>
</repositories>

也许他们并非都需要......但是这些都涵盖了我现在拥有的所有依赖基础,所以他们应该为你做得很好。如果您不执行上述步骤,我认为您仍然可以完成以下步骤,但在添加spring和/或hibernate依赖项时可能会遇到问题

保存并关闭文件。 现在maven将为我们处理很多依赖性工作,你很快就会看到。

3)

a)接下来在我们的项目树下,右键单击dependencies文件夹:在Query字段中输入:“struts2-core”,展开将出现在“搜索结果”下的下拉列表并选择“2.2.1.1”版本来自ibiblio镜子。

或者:您可以通过在组ID,工件ID和版本字段中输入正确的值(在maven中称为坐标)来完成(a)。您应该知道正确的值,因为在{strong>步骤3

下的http://struts.apache.org/2.2.1.1/docs/create-struts-2-web-application-using-maven-to-manage-artifacts-and-to-build-the-application.html上列出了正确的值

b)按照上面的替代说明使用gui添加以下坐标的依赖关系:

<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.8.0.GA</version>
</dependency>

如果您检查pom.xml文件,您将看到上面的xml是如何添加到pom中的。

c)现在你是添加依赖项添加的专家:

<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>

负责处理jar文件。

4)添加配置文件。首先,我们需要知道您的项目在磁盘上的位置。您可能已经知道这一点,如果没有右键单击项目的根目录并选择“来源”下的“属性”,它将告诉我们。

a)使用操作系统文件导航器的外部Netbeans进入项目的根目录。在这里打开 src / main 文件夹,您应该看到“java”和“webapp”文件夹,创建一个名为“resources”的新文件夹,然后返回到Netbeans 7。

您应该在项目树下看到一个名为“其他来源”的新节点。

b)展开其他来源,展开“src / main / resources”,右键点击默认包 new&gt;其他,类别:XML,文件类型:XML文档,然后是下一个。输入:struts(请确保不要将.xml放在最后它将为您添加),将其保留在格式良好的文档中,完成。

将struts.xml的内容替换为:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
  <constant name="struts.devMode" value="true" />
</struts>

c)像在b中所做的那样添加另一个xml文件,名为“log4j.xml”(记住不要在文件名中添加.xml)。

将以下内容粘贴到该文件中:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
       <layout class="org.apache.log4j.PatternLayout"> 
          <param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/> 
       </layout> 
    </appender>

    <!-- specify the logging level for loggers from other libraries -->
    <logger name="com.opensymphony">
        <level value="DEBUG" />
    </logger>

    <logger name="org.apache.struts2">
         <level value="DEBUG" />
    </logger>

   <!-- for all other loggers log only info and above log messages -->
     <root>
        <priority value="INFO"/> 
        <appender-ref ref="STDOUT" /> 
     </root> 

</log4j:configuration> 

d)在项目根目录下配置web.xml,展开“Web Pages”节点,如果不存在,则创建一个名为“WEB-INF”的文件夹。在名为web.xml的WEB-INF文件夹下创建一个新的xml文件。

将以下内容粘贴到web.xml文件中:

    <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

最终测试:现在您应该可以点击运行按钮选择您喜欢的Web服务器(tomcat或glassfish)并查看hello world页面......听起来很成功。但它还没有(如果你创建了一个新的 Maven Web应用程序并且没有做任何事情,只是按下运行按钮你会看到同一页面,你需要做的是输入一个不存在,例如在行动结束时输入“test”。

如果您收到一个网页,说明:没有针对命名空间/操作名称测试映射的操作。然后struts2处理请求,我们知道一切都很好。

我希望我能正确地写出来,如果你需要有关如何在NB7中为struts2添加spring或hibernate的说明,我当时也可以概述那些。

答案 1 :(得分:3)

该插件已更新,可在Netbeans 7.x中使用! http://plugins.netbeans.org/plugin/39218