我是Wicket的新手,我想了解这个框架是如何工作的。
在普通的Java应用程序中,程序计数器在main方法中启动。为了从一开始就理解应用程序,我通常将eclipse断点放在此方法的开头,一步一步地进行。
我的问题是,当Wicket应用程序启动时,首先会发生什么?如何遵循一些Wicket应用程序中的序列?
发布于 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。
发布于 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
发布于 2020-11-16 08:42:14
您的Wicket应用程序依赖于web.xml文件的配置。话虽如此,您需要在该web.xml文件中指定Wicket过滤器,并将您自己的表示Wicket入口点的类传递给它们,该类(WicketApplication)必须从WebApplication类扩展。
<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)中,您需要覆盖某些方法:
@Override
public Class<? extends WebPage> getHomePage()
{
return HomePage.class;
}您的HomePage.class将是当您点击页面的URL时将作为主页返回的网页。除了HomePage.java之外,您还必须将HomePage.html放在相同的包中,处于相同的级别。
https://stackoverflow.com/questions/13787973
复制相似问题