`
marszgl
  • 浏览: 53733 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关于Wicket的三个问题

阅读更多

我以前用过webwork和sturts,这种基于请求的框架在界面开发上的问题挺多,但是至少还比较成熟,期间也实验过Tapestry和Echo2,感觉Tapestry的体系太乱了,好好一个项目,让开发组搞的乱七八糟,而Echo2的builder用起来很不错,只是收费和session管理的问题觉得不太好,另外就是Echo2的体系太封闭,不容易集成spring和osgi,虽然努力努力也能做到,但毕竟感觉不好。
最近看了版主的wicket开发指南,并实验了一下wicket的例子,觉得wicket是个很有前途的框架,个人觉得真的解决了java web界面开发的大问题。

不过有以下几个问题想请教一下版主:

1、wicket将组件缓冲在session中会不会影响性能?或者导致app server crash?
这点我觉得是个很严重的问题,因为session在server端都是存储在server的JVM进程空间里的,这样长期运行会不会导致server outmemery?楼主遇到过这种情况没有?

2、wicket的性能如何?
用在web站点上首先要关心的就是性能问题了,其他的web框架都可以通过SNA架构来提供简单无限制的集群,而wicket的集群是基于session复制的,不知道性能如何,有没有这方面成功的经验?
或者可以使用apache的striky session来将session限制在单个tomcat上?我在wicket的wiki上没看到类似的说明,理论上应该是可行的,不知道楼主有没有看到过相应的资料?
在大型网站上,一般都不使用session来存储信息,而使用cookie或者是url stricky这两种方法来存储session id,后台使用分布式的cache或者内存数据库做为cache来存储session信息,不知道在wicket中,我是不是可以通过更改一些组件来做到这点?

3、apache的集成问题
在使用apache和servlet容器集成的时候,一般都是按照扩展名来配置转发,比如将资源扩展名为jsp、action、do这样的url访问转发到某个servlet容器上,但是使用了wicket之后,在wicket应用中都是html页面,我看到wicket生成的url也比较灵活,有/people/find/这种目前比较流行的url,也有/wicket?xxx这种url,可是这两种url的扩展名都不固定,在apache里怎么配置转发呢?
wicket的wiki上给出的apache集成方案中,使用了web虚拟机配置,将某个地址的访问全部转发给servlet容器,这样做的问题是如果我的java的应用中有一部分是纯静态html页面,想通过apache来访问这些文件以便提高性能,这种配置方法就不能满足要求了。

最后,真诚的感谢版主介绍了wicket这么好的框架给中国的开发人员,期待版主更多的作品


因为你的问题比较复杂
所以我没有办法在一个简单的帖子里描述清楚
下周我会抽出时间专门写一些文章回答其中的问题

下面是一个简单的回答
1、Wicket的Session是通过ISessionStore来处理的,你可以实现这个接口提供自己的Session处理,也可以编写一种类似于JSP的无状态页面节省内存。
2、至于性能,象Cookie,Wicket也是支持的,而且可以很容易的封装,而Wicket2.0会支持ASP.Net的ViewState方式,即通过隐藏域来传递信息,不知道Wicket1.3是否会支持这种方式。
3、配置转发是属于Servlet规范中的,其实与Apache关系并不大,Apache只能提高静态页面的访问性能。


 呵呵,多谢版主回复,不知道wicket2.0什么时候release啊?
如果能够做到ASP.NET那样,那就省事多了
ISessionStore我在你的文档中看到了,还要多学习^_^

关于第三点,可能我表达的不是很清楚,url转发应该不是servlet的问题吧,apache在前面,必须配置它将相应的url访问转发给Tomcat,一般来说都是Apache的JKMount或ajp来配置,所以我的意思能不能让wicket的url有个明显的标识,好在apache里配置转发,不知道版主和我说的是不是一个事情?或者我理解的有问题?

期待版主的详细的文档,呵呵


Wicket2.0与1.X变化太大,所以顺利的话也要在今年6-7月份吧!毕竟小组的人才是有限,我自己也是做开源软件的,但是有公事的时候,只好把自己的东西放一边了!

2.0看起来真的很象ASP.NET,但是使用Session,还是ViewState,在Wicket邮件组的争论也是比较多,我个人也是犹豫不决,这个还是要具体分析,不同环境下还是有所区别的。

第三点是我理解错了,我以为你说的是WEB-INF中的URL定义呢?我对Apache不太熟悉,这些内容可能需要你去研究了,如果有了心得,千万要告诉我一声啊!

如果有其它的心得或者问题,希望同样与我们分享。

分享到:
评论

相关推荐

    wicket指南

    Wicket 是一个开源的、基于组件的 Java Web 开发框架,它提供了一种简单而强大的方式来构建动态、交互性强的Web 应用程序。Wicket 的设计哲学是将Web 页面的视图与业务逻辑解耦,使得开发者可以专注于应用的业务需求...

    Wicket 入门

    在当今的 Web 开发领域,Java 框架扮演着举足轻重的角色,其中 Apache Wicket 是一个强大的、面向组件的 Java Web 应用框架,它简化了 Web 应用的开发过程。本文将详细介绍如何在 Eclipse 中使用 Maven 创建一个 ...

    wicket开发指南 pdf

    2. **组件生命周期**:Wicket组件有三个主要的生命周期阶段:创建、渲染和销毁。在渲染阶段,组件负责生成HTML输出;在创建阶段,可以进行初始化操作;销毁阶段则通常用于释放资源。 **三、模型-视图-控制器(MVC)...

    apache-wicket-7

    1. **组件生命周期**:Wicket组件有三个主要状态——创建、渲染和服务。创建时,组件实例化;渲染时,组件将自身呈现到页面上;服务时,处理用户交互。了解这些生命周期对于优化性能和管理组件状态至关重要。 2. **...

    wicket国际化例子

    Wicket是一个流行的Java web应用程序框架,它提供了强大的组件模型和灵活的国际化支持。 **一、Wicket的国际化基础** 1. **什么是国际化(i18n)**:国际化是一种软件设计方法,使得应用程序能够适应不同地区的...

    wicket文档

    Wicket采用了MVC架构模式,主要包括模型(Model)、视图(View)和控制器(Controller)三部分。 **4.2 MVC结构** - **模型(Model)** 负责管理应用程序的数据和业务逻辑。 - **视图(View)** 负责显示数据给用户。 ...

    wicket的helloworld

    这个“Wicket的HelloWorld”程序是初学者入门Wicket的典型例子,它展示了如何利用Wicket框架创建一个简单的Web应用。 在Wicket中,组件是构建Web页面的基本单元,可以是HTML元素,如按钮、文本框,也可以是更复杂的...

    Wicket开发指南-简体版

    Wicket采用了一种简洁明了的设计,主要包括模型、视图和控制器三个部分。 **4.2 MVC结构** - **基本结构**:MVC模式是Wicket的核心,它将应用逻辑、用户界面和数据有效分离。 - **View与Control的映射**:Wicket...

    Wicket.pdf(Wicket开发指南)

    #### 三、Wicket 的基本结构 - **MVC 架构:** - **模型 (Model):** 存储数据和业务逻辑。 - **视图 (View):** 显示模型中的数据,通常使用 HTML 和 CSS 实现。 - **控制器 (Controller):** 负责处理用户请求...

    wicket例子和开发指南

    三、Wicket自带例子 压缩包中的示例项目通常会涵盖各种Wicket特性,你可以通过这些例子了解Wicket在实际应用中的工作方式。这些例子可能包括: 1. 基本组件展示:如按钮、文本框、标签等组件的使用。 2. 表格和列表...

    wicket1.4.7中的jar包

    11. **其他第三方库**:在lib目录下可能还会包含其他的jar包,比如log4j、slf4j等日志框架,或者json、xml解析库等,这些都是为了支持Wicket正常运行或提供额外功能所必需的依赖。 在实际开发中,根据项目的具体...

    wicket7教程

    组件生命周期也是Wicket中的一个重要概念,包括初始化、渲染和移除三个阶段。每个阶段都有相应的钩子方法,允许开发者在组件生命周期的特定点上插入自定义行为。Wicket还支持有状态页面和无状态页面,分别对应于是否...

    [原创]wicket开发手记(三)数据校验

    当用户提交表单时,Wicket会自动检测这个文本框的内容长度是否符合要求。如果不满足条件,表单将不会被提交,并向用户展示错误消息。 #### 三、自定义校验 除了内置的校验方法外,Wicket还支持自定义校验逻辑。这...

    wicket开发指南

    - 第三方库:许多社区贡献的组件库扩展了Wicket的功能。 阅读《Wicket开发指南》PDF,你将逐步了解如何搭建Wicket环境,创建第一个应用,使用组件,处理用户输入,以及如何优化和扩展Wicket应用。这份指南对于想要...

    wicket1.4的jar文件

    Wicket 1.4 是一个基于Java的开源Web应用程序框架,它强调了组件化和页面的可重用性。这个框架允许开发者创建高度交互式的、动态的网页应用,而无需深入学习复杂的JavaScript或HTML。Wicket 1.4 版本是该框架的一个...

Global site tag (gtag.js) - Google Analytics