阅读更多

15顶
1踩

企业架构

转载新闻 NetBeans Struts2 插件更新

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

       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和SetBitmapBits加速图像处理

    通过直接访问位图的像素数据,我们可以避免不必要的内存复制和访问开销,从而提高图像处理的效率。在上面的代码中,我们首先调用GetObject函数获取位图对象的信息,包括宽度、高度和每行的字节数等。通过使用GetBitmapBits和SetBitmapBits函数,我们可以直接访问位图的像素数据,避免了频繁的读取和写入操作,从而提高了图像处理的效率。在这个例子中,我们使用了一个简单的灰度化公式,将每个像素的红、绿、蓝分量的加权平均值作为灰度值,并将灰度值赋给每个分量,从而将图像转换为灰度图像。

  • GetBitmapBits和GetDIBits

    GetBitmapBits和GetDIBits之间的区别

  • vb.net中Bitmap.Fromstream参数无效与避免Image对文件的占用

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load PictureBox1.AllowDrop = True End Sub Private Sub PictureBox1_DragEnter(sender As Object, e As DragEventArgs) Handl...

  • 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

  • 关于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对应用的一个系统级限制,作为应用层开发人员,没有办法彻底去消灭这个

  • android 内存溢出报错,android解决bitmap内存溢出

    android解决bitmap内存溢出2014-12-172117最近在做一款塔防游戏,用的事surfaceview框架,由于图片过多,而且游戏过程中都需要这些图片,所以加载成bitmap后造成OOM(out of memory)异常。下面是我一步一步找解决此问题的纪录,再此分享,希望对以后出现此问题的开发者有所帮助。第一:出现问题,我的测试手机是2。2android操作系统,不会出现oom问题,...

  • VB.NET多线程开发实例

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

  • GetBitmapBits和GetDIBits的区别(Windows GDI)

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

  • 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 ...

  • Redis 基础 -- 位图(bitmap)数据结构和 bitmap的常用命令(SETBIT、GETBIT、BITCOUNT、BITPOS、BITOP、BITFIELD)

    Redis的位图(bitmap)是由多个二进制位组成的数组,数组中的每个二进制位都有与之对应的偏移量(也称索引),用户通过这些偏移量可以对位图中指定的一个或多个二进制位进行操作。

  • windows gdi - 保存bitmap

    bool SaveBMP(HDC hdc, const tstring& filePath) {     HBITMAP hbm = (HBITMAP)GetCurrentObject(hdc, OBJ_BITMAP);     assert(hbm);     return SaveBMP(hbm, filePath); } bool SaveBMP(HBITMAP hbm, const ts

  • python winapi_python - Python Win32API位图.GetBitmapBits()

    只是一个简单的问题,我还没有找到任何细节:我正在使用python win32api捕捉我的电脑屏幕截图。我想滚动我自己的图像压缩算法(为了好玩,我不期望专业水平的结果),但我正在努力理解我从位图本身得到的像素数据。以下是相关代码:width = win32api.GetSystemMetrics(win32con.SM_CXVIRTUALSCREEN)height = win32api.GetSy...

Global site tag (gtag.js) - Google Analytics