日期:2014-05-19  浏览次数:20717 次

想用纯servlet,但又想可以像action那样使用,这时候你怎么办?
不知道有没有现成的工具包可以让servlet像action那样(一个servlet可以写多个方法)

自己写了一个工具类,可以做到,想问下有没有现成的工具包

web.xml配置
XML code

<filter>
    <filter-name>dynamicServletFilter</filter-name>
    <filter-class>key.kotori.servlet.DynamicServletFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>dynamicServletFilter</filter-name>
    <url-pattern>*.slt</url-pattern>
</filter-mapping>

<servlet>
    <servlet-name>user</servlet-name>
    <servlet-class>com.kotori.servlet.UserServlet</servlet-class>
</servlet>



servlet类
Java code

public class UserServlet extends DynamicServlet {
    //这纯粹是一个servlet,其中DynamicRequest和DynamicResponse
    //是实现了HttpServletRequest和HttpServletResponse接口的
    public void list(DynamicRequest request, DynamicResponse response) { }

    public void add(DynamicRequest request, DynamicResponse response) { }

    public void delete(DynamicRequest request, DynamicResponse response) { }

    public void update(DynamicRequest request, DynamicResponse response) { }

    ......
}



请求地址
localhost:8080/项目名/user!list.slt

------解决方案--------------------
完全可以呀!我们知道Servlet里边就2个能调用的方法doget和dopost,但是我们可以写多个方法,在doget或者dopost中用switch来调用这些方法,说简单点就是把doget当成是main来使用!
------解决方案--------------------
那就研究下struts1的原理吧 

------解决方案--------------------
struts1的原理就是这样! 你看看就明白了 代码不算难!容易理解