Struts2和NetBeans 7

Den*_*ees 5 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支持

谢谢.

Qua*_*ion 10

如果您熟悉在NB中使用maven,请遵循http://struts.apache.org/2.2.1.1/docs/create-struts-2-web-application-using-maven-to-manage-artifacts-and-以建造最application.html

你很快就会有一个S2项目.(我在Struts2上使用NB7)

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

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

1)文件>新项目,在类别下:Maven>在项目下:Web应用程序>下一步>在"名称和位置屏幕"上填写您想要的方式...

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>
Run Code Online (Sandbox Code Playgroud)

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

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

3)

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

或者:您可以通过在组ID,工件ID和版本字段(在maven中称为坐标)中输入正确的值来完成(a).您应该知道正确的值,因为它们在http://struts.apache.org/2.2.1.1/docs/create-struts-2-web-application-using-maven-to-manage-artifacts-and-中详细说明.在第3步构建了application.html

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

<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.8.0.GA</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

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

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

<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这会处理jar文件.

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

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

您应该在项目树下看到一个名为"Other Sources"的新节点.

b)展开Other Sources,展开"src/main/resources",右键单击默认包,new> other,Categories:XML,File Types:XML Document,然后单击下一步.输入: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>
Run Code Online (Sandbox Code Playgroud)

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> 
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

最终测试:现在您应该可以点击运行按钮选择您喜欢的Web服务器(tomcat或glassfish)并查看hello world页面......听起来像是成功.但它还没有(如果你创建了一个新的Maven Web应用程序,除了点击运行按钮之外什么也没做,你会看到同一个页面,你需要做的是输入一个不存在的URL,例如输入"test"到你的行动结束.

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

我希望我能正确地写出来,如果你需要有关如何在NB7中为struts2添加spring或hibernate的指令,我当时也可以勾勒出那些.