wicket学习之WicketServlet
程序员文章站
2022-07-15 15:14:09
...
org.apache.wicket.protocol.http.WicketServlet作为wicket请求处理的一个入口,我们有必对他的实现过程做一番了解。
下面首先主要引用了Wicket API中对WicketServlet的描述,接着解读了他里面的init和doPost/doGet方法。
API中关于wicketServlet的解释:
1、如果需要进一步指定资源,可以需用WicketFilter作为程序的入口
2、web.xml中配置wicketServlet时需要指定applicationClassName初始化参数
进一步可以指定applicationFactoryClassName这个应用类的工厂方法
<init-param>
<param-name>applicationFactoryClassName</param-name>
<param-value>teachscape.platform.web.wicket.SpringApplicationFactory</param-value>
</init-param>
自定义的applicationFactory需要实现接口 IWebApplicationFactory.
3、在web.xml文件中,可以指定不需要处理的路径,通过指定初始化参数ignorePaths实现
<init-param>
<param-name>ignorePaths</param-name>
<param-value>/images/products/,/documents/pdf/</param-value>
</init-param>
4、如果需要使用servlet的规范。可以在wicketServlet类的Init方法中实现,
为了提供对其他框架的支持,这个类没有设计成final类。
wicketServlet方法init解读:
wicketServlet 中维护了一个wicketFilter属性
wicketServlet 的init方法实际上是初始化了wicketFilter,新建wicketFilter,调用filter.init();
wicketServlet方法doGet/doPost解读:
wicketFilter.doGet(servletRequest, servletResponse);
wicketFilter.doGet(servletRequest, servletResponse);
结论:wicketServlet 将对请求的处理放到了WicketFilter中,想了解Wicket 对请求的详细处理过程,可以仔细研究WicketFilter这个类。
下面首先主要引用了Wicket API中对WicketServlet的描述,接着解读了他里面的init和doPost/doGet方法。
API中关于wicketServlet的解释:
1、如果需要进一步指定资源,可以需用WicketFilter作为程序的入口
2、web.xml中配置wicketServlet时需要指定applicationClassName初始化参数
进一步可以指定applicationFactoryClassName这个应用类的工厂方法
<init-param>
<param-name>applicationFactoryClassName</param-name>
<param-value>teachscape.platform.web.wicket.SpringApplicationFactory</param-value>
</init-param>
自定义的applicationFactory需要实现接口 IWebApplicationFactory.
3、在web.xml文件中,可以指定不需要处理的路径,通过指定初始化参数ignorePaths实现
<init-param>
<param-name>ignorePaths</param-name>
<param-value>/images/products/,/documents/pdf/</param-value>
</init-param>
4、如果需要使用servlet的规范。可以在wicketServlet类的Init方法中实现,
为了提供对其他框架的支持,这个类没有设计成final类。
wicketServlet方法init解读:
wicketServlet 中维护了一个wicketFilter属性
wicketServlet 的init方法实际上是初始化了wicketFilter,新建wicketFilter,调用filter.init();
wicketServlet方法doGet/doPost解读:
wicketFilter.doGet(servletRequest, servletResponse);
wicketFilter.doGet(servletRequest, servletResponse);
结论:wicketServlet 将对请求的处理放到了WicketFilter中,想了解Wicket 对请求的详细处理过程,可以仔细研究WicketFilter这个类。