阅读更多

15顶
1踩

企业架构

转载新闻 NetBeans Struts2 插件更新

2009-08-27 10:14 by 正式记者 gml520 评论(5) 有14829人浏览

       NetBeans Struts 2 插件(http://nbstruts2support.dev.java.net)很长时间没有更新了,我对原插件进行了少量修改,并在 NetBeans 6.7 上测试通过,其中修改包括:
1.包含了最新的 Struts 2.1.6 库文件。
2.更新至最新的 web framework API。
3.重新设计了配置面板,支持更加灵活的最初配置。
4.少量针对的 Struts 2.1的代码修改。

下载:https://dl.getdropbox.com/u/201666/nbstruts2.tar.bz2

Struts 2 提供新一代的 Filter 和 Servlet 来处理请求。


如果你选择使用 Struts Servlet 来处理请求,可以选择 Reuqest processed by 为 Servlet  。
这将在 web.xml 中生成相应的 Servlet 配置,Struts 2.1 添加这么一个 Servlet ,或许是吸引那些 Struts 1 的用户。

   

<servlet>
        <servlet-name>struts2servlet</servlet-name>
        <servlet-class>org.apache.struts2.dispatcher.ng.servlet.StrutsServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>struts2servlet</servlet-name>
        <url-pattern>*.action</url-pattern>
    </servlet-mapping> 

  
如果你选择使用 Filter 来处理请求,当然这是 Struts 官方推荐的方式,将在 web.xml 中生成以下代码。
 

   

 <filter>
        <filter-name>struts2</filter-name>
        <filter-class>apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

  
在 Struts 2.1 中,DispactherFilter 已经标志为过时。取而代之的是StrutsPrepareAndExecuteFilter,它还有两个变体,StrutsPrepareFilter 和 StrutsExecuteFilter ,以适应与其他 Filter 同时处理请求的情况,特别是 Sitemesh Filter,StrutsPrepareFilter 会作一些清理的动作,这在配置时已经为你考虑到了。

在Plugin Support 的标签中,提供了几种常见插件的支持。
如果你选择了使用 Filter 的方式处理客户端请求,同时使用了 Sitemesh 插件。
IDE 会为生成不同的web.xml 配置。

   
    

<filter>
        <filter-name>struts2prepare</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
    </filter>
    <filter>
        <filter-name>sitemesh</filter-name>
        <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
    </filter>
    <filter>
        <filter-name>struts2execute</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2prepare</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>sitemesh</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts2execute</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

  
同时,也会生成一份简单的 sitemesh 模板。


当你选择Development Mode ,IDE 会在 Struts 2 配置文件中添加 一些 constant,以辅助调试 Struts2程序。

 

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

 当你选择 Spring 支持时,会 Struts 配置文件添加一个 constant,

 

<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/>

 
它表示使用 Spring 来创建 Struts 2 对象,包括 Action , Intecepter等。
另外,IDE 为在 web.xml 添加相应的 Spring 配置。

 <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>

<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

 
并且会在 WEBINF 下添加一个空的 spring 配置文件模板。
Convention 插件是 Struts 2.1 附带的一个全新的插件,它吸收了多个插件的优点,使得Struts 2 在利用 java 5 的 Annotation 特性上迈出了可喜的一步。

当你选择使用 Convention 插件,你有一个可选的参数,可以指定 actions的 package名,这可以在运行时缩小 action 类的扫描范围。
 
对于初学者,例子可能是最有效的学习途径。如果你选择了 Create Example Application 复选框,就会创建一个例子,它源于 Struts 自带的例子。


这仅仅是对 Struts 2 的小小修改,以后可以添加其它功能。比如,可视化编辑 struts.xml, 类似 jsf的 page flow功能,加强 struts 配置文件中的代码补全功能,validation 配置文件的 IDE 辅助功能等。
这可能是一个巨大的挑战,目前还不熟悉 visual library 的api。

来自: chinaunix
15
1
评论 共 5 条 请登录后发表评论
5 楼 dehuai 2010-02-02 17:35
支持楼主完善这个插件,最好组件一个小团队,我也加入,我们一起作netbeans插件
4 楼 wumingjiayuan 2009-09-05 09:37
这个插件确实有问题,改变方法,就是在生成的web.xml里,把apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
前面加个org否者找不会报notFoundException
3 楼 wumingjiayuan 2009-09-03 21:12
为什么我的插件,用默认的例子都报错
2 楼 longer042 2009-08-31 09:20
我现在就是在用s2
1 楼 hantsy 2009-08-27 18:01
看来国内还是对 Struts 比较感兴趣,我也更新了其它一些插件 Wicket(部分成果融合到官方,可从 netbeans 的 plugin portal 中下载), stripes, richfaces,可以从我的博客上了解具体情况,http://hantsy.cublog.cn

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • GetBitmapBits和GetDIBits

    GetBitmapBits和GetDIBits之间的区别

  • GetBitmapBits 以及 SetBitmapBits的用法

    HBITMAP hCaptureBitmap = CopyScreenToBitmap(0, 1024,0, 768); CBitmap* pBmp = CBitmap::FromHandle(hCaptureBitmap); int Count; BITMAP bm; pBmp-&gt;GetObject(sizeof(bm),&amp;bm); Count = bm.bmW...

  • Bitmap 与 BitmapSource之间的互换

    (窗体剪贴板)System.Drawing.Bitmap (剪贴板)System.Windows.Media.Imaging.BitmapSource 1.从bitmap转换成ImageSource [DllImport("gdi32.dll", SetLastError = true)] private static extern bool

  • Bitmap的使用习惯——及时释放Bitmap占用的内存

    Bitmap的使用习惯——及时释放Bitmap占用的内存 http://blog.csdn.net/wuzhipeng1991/article/details/38677877

  • VB压缩图片代码

    VB压缩图片Option ExplicitPrivate Type GUID    Data1 As Long    Data2 As Integer    Data3 As Integer    Data4(0 To 7) As ByteEnd TypePrivate Type GdiplusStartupInput    GdiplusVersion As Long    DebugEv

  • GetBitmapBits和GetDIBits区别

    通过位图句柄获取位图数据的两种API比较

  • GetObject 和 GetBitmapBits 获取位图数据的区别

    表面上看GetBitmapBits(...) 和 GetObject(...)都可以获取位图句柄中的数据,例如: 第一种方法:      HBITMAP hbitmap = (HBITMAP)LoadImage(g_hInstance, MAKEINTRESOURCE(32710), IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION);      GetObje

  • BitmapFactory解析与Bitmap的内存优化

    最近在看我们app的时候发现了页面卡顿问题,最后定位问题在给某个页面上的view设置了模糊背景。然后参考了几篇文章。

  • 关于Bitmap的内存,加载和回收等

    Bitmap加载图片Bitmap的加载离不开BitmapFactory类,关于Bitmap官方介绍: Creates Bitmap objects from various sources, including files, streams, and byte-arrays.BitmapFactory类提供了四类方法用来加载Bitmap: decodeFile(),从文件系统加载。 decodeR

  • VB.net 图片加载内存问题

    工作中碰到一个内存泄漏问题。记录一下以备后用。 修改前代码:     Private Function BitmapToBitmapSource(source As Bitmap) As BitmapSource         Return System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(             

  • android中解决bitmap的内存溢出的常用方案整理

    众所周知,每个Android应用程序在运行时都有一定的内存限制,限制大小一般为16MB或24MB。 如果是开发图片浏览器应用,例如像Android系统自带的Gallery那样的应用,这个问题将变得尤为突出。 如果开发的是购物客户端,有时候处理不当也会碰到这种问题,刚好我这两天开发都碰上了,=. =!。 内存限制是Android对应用的一个系统级限制,作为应用层开发人员,没有办法彻底去消灭这个

  • GetBitmapBits和GetDIBits的区别(Windows GDI)

    Windows GDI中有两个用来得到位图图像数据的API,分别是GetBitmapBits和GetDIBits; 按照MSDN的解释,前者是用来得到设备独立位图的BITS, 后者是得到兼容位图的BITS, 所以在调用该函数的时候, 第一个主要的区别是:GetDIBits需要提供一个设备内容,同时需要将位图的HANDLE选进这个设备内容(DC)才能能够得到位图的信息。 我想上面的区别

  • VB.NET多线程开发实例

    VB.NET(Visual Basic.NET)是为适应Microsoft .NET框架的需要,对Visual Basic进行了重大改造后的开发工具。它比Visual Basic 6.0功能更强大,更易于使用。其中最重要的变化就是对象继承,在VB.NET中,所有可管理的类型都衍生自System.Object。作为编程工具,最重要的一个特性就是垃圾碎片的回收,它由CLR(Common Languag

  • VB6灰度化图片的方法

    极速灰度化图片的方法

  • VB6.0用GDI+保存图像为BMP\JPG\PNG\GIF格式终结版。

    鉴于之前在http://blog.csdn.net/laviewpbt/article/details/756547发布的代码很匆忙,也存在不少错误,现发布比较完美版的解决方案。 Option Explicit Private Const UnitPixel As Long = 2 Private Const EncoderQuality ...

  • Bitmap可以从图片中加载也可以自行创建

    获取Bitmap的方式

  • GetBitmapBits捕获视频帧

     这个概念比较特殊,意思就是一个视频的其中一桢,就象我们看电影的海报一样,是电影中的一部分。这个就是扑获视频文件中的一幅图像,然后显示出来。 我们通过Media Detector对象提供的接口来实现,这个接口是被用在后面的DirectShow编辑服务里面的。 Media Detector是一个帮助性的对象,它可以的到媒体源文件的格式信息。它也可以从一个视频文件的视频流中扑获一幅

  • BITMAP

    矢量图:保存图像中每一几何物体的位置,

Global site tag (gtag.js) - Google Analytics