首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wicket与main-method ( Wicket是如何工作的?)

Wicket与main-method ( Wicket是如何工作的?)
EN

Stack Overflow用户
提问于 2012-12-09 21:49:06
回答 3查看 900关注 0票数 4

我是Wicket的新手,我想了解这个框架是如何工作的。

在普通的Java应用程序中,程序计数器在main方法中启动。为了从一开始就理解应用程序,我通常将eclipse断点放在此方法的开头,一步一步地进行。

我的问题是,当Wicket应用程序启动时,首先会发生什么?如何遵循一些Wicket应用程序中的序列?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-10 00:37:42

Wicket是一个Java Web应用程序框架,因此首先您必须对此稍加了解。首先,让我们来看看the Java EE tutorial

在web应用服务器上的某个地方,实际上有一个main方法,它在服务器启动时运行。但与使用Wicket编写的web应用程序的连接相当松散。

当您编写和构建wicket应用程序时,您要做的事情之一是创建一个web.xml文件,该文件向web应用程序容器描述如何加载您的应用程序。这通常包括对WicketFilter的引用和对应用程序的WebApplication子类的引用。

WicketFilter类拦截请求并将它们发送到您的应用程序。

有关此过程的更详细描述,请访问维基页面LifeCycle of a Wicket Application

票数 10
EN

Stack Overflow用户

发布于 2020-08-05 01:57:49

作为Apache Wicket的原始创建者,我建议您尽可能远离Java EE。Wicket背后的驱动思想是将面向对象编程引入web。还有其他框架可以做到这一点,但Wicket在这方面做得很好。因此,Wicket如何使用Servlet API来创建这种抽象的所有这些血淋淋的细节确实不需要您担心。如果你只是好奇,并且真的想看看发生了什么,在WicketServlet和/或WicketFilter中设置一个断点并逐步通过它。

现在有很多关于Wicket的书:

https://wicket.apache.org/learn/books/index.html

此外,网站上的参考指南也相当完整:

https://ci.apache.org/projects/wicket/guide/9.x/single.html

请特别查看“请求处理的幕后”部分以及“组件生命周期”部分:

https://ci.apache.org/projects/wicket/guide/9.x/single.html#_under_the_hood_of_the_request_processing https://ci.apache.org/projects/wicket/guide/9.x/single.html#_components_lifecycle

这应该会让你对所发生的事情有一个很好的认识。但同样,您真的不需要了解任何这些东西就可以很好地利用框架。

-- Jon

票数 1
EN

Stack Overflow用户

发布于 2020-11-16 08:42:14

您的Wicket应用程序依赖于web.xml文件的配置。话虽如此,您需要在该web.xml文件中指定Wicket过滤器,并将您自己的表示Wicket入口点的类传递给它们,该类(WicketApplication)必须从WebApplication类扩展。

代码语言:javascript
复制
<filter>
    <filter-name>wicket.quickstar-wicket-example</filter-name>
    <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
    <init-param>
        <param-name>applicationClassName</param-name>
        <param-value>com.quickstar.wicket.example.WicketApplication</param-value>
    </init-param>
</filter>

在类(WicketApplication)中,您需要覆盖某些方法:

代码语言:javascript
复制
@Override
public Class<? extends WebPage> getHomePage()
{
    return HomePage.class;
}

您的HomePage.class将是当您点击页面的URL时将作为主页返回的网页。除了HomePage.java之外,您还必须将HomePage.html放在相同的包中,处于相同的级别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13787973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档