jfinal配置servlet

jfinal项目估计使用的人也有一些的,国产优秀的开源软件,我觉得非常简单易用,不比常规的ssh构架差,基本思想也是来源于ssh,但配置文件极少,便于维护。当然不喜欢它的人群肯定也有不少,我觉得用它开发一些中小型项目还是非常不错的选择,维护成本很低。

由于jfinal对url进行了封装处理。匹配模式类似xxxx/yyyy 。xxxx代表controller类,yyyy代表controller的类的public方法。因此哪怕你在web.xml配置了servlet,在浏览器访问这个serlvet,会无法访问。其实jfinal在设计的时候已经考虑到这个问题,配置也很简单

在你重写的JFinalConfig里

	@Override
	public void configHandler(Handlers me) {
		//过滤sevlet不使用jfinal
		me.add(new UrlSkipHandler("/xxxServlet",false));
               //下面默认方法需要保留
		me.add(new ContextPathHandler("basePath")); 
	}

只要在这里配置你新增的servlet方法即可过滤访问该方法不会被jfinal代理。

UrlSkipHandler是jfina核心包的方法,你有兴趣可以看看源码。

然后再web.xml配置你的servlet即可。

<servlet>
    <servlet-name>xxxServlet</servlet-name>
    <servlet-class>com.openfinal.open.servlet.xxxServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>xxxServlet</servlet-name>
    <url-pattern>/xxxServlet</url-pattern>
</servlet-mapping>

猜你喜欢

转载自panshunchang.iteye.com/blog/2290195
今日推荐