你可以用多个 action,没必要用一个 然后再用key来区分,这样是台臃肿了吧, 可以用下struts2   比如说 登录 注册 忘记密码 用一个action  然后里面对应不同的方法就可以,你用servlet的话  要不就分开来 一个功能一个servlet

解决方案 »

  1.   

    1.springmvc里面可不只一个方法,做好的做法是一个业务一个方法
    2.用上面的方法之后,每个方法都有独立的跳转url
    3.request的生命周期 就是只存在在一次,当提交到后台或者后台设置到前台之后,只在后台或者跳转后的页面存在
      

  2.   

    不同的业务用不同的url区分,为什么所有的请求都要映射到同一个servlet里然后用key来区分到底要做什么呢?
      

  3.   

    对于Controller太臃肿的问题,我喜欢两种方法,当都是按照不同的业务分成很多个Controller,如何结合有所不同1.层层上报型,有一个主Controller,下面一堆子Controller负责一个小细节,如果子Controller还太复杂,再继续分更小的Controller,以此类推,响应事件/业务时,最小的Controller最先得到,最先处理,如果处理不了或者需要进一步处理或者需要上级传达消息给其他Controller那么将这个业务上报,这样层层上报,直到完成所有工作。2.各司其职型,还是有一个主Controller,但它只包装事件,当出现新的事件/业务请求时,主Controller将这个请求稍作包装,作为一种全局事件在其他业务Controller之间传递,每个业务Controller都能拿到所有事件,但它只关心它能处理的事件,捕获到后进行处理,如需后续处理则继续将这个封装成一个新事件进行传递。在效率不是关键问题的情况下第二种感觉相当灵活,没有事件分发,不需要绑定一堆监听器,可以动态添加删除模块,只要遵循一个统一的封装原则,那么每个Controller之间互不干涉,调试阅读起来都相当轻松
      

  4.   

    和3楼一样,用url来分发不同业务,用filter估计比servlet更方便,参考oschina的实现http://www.oschina.net/code/snippet_12_2832具体的细节没看懂
      

  5.   

    1、 用框架,把你解放出来,你专注业务
    2、 还是框架
    3、 还是框架
    推荐 Spring mvc 框架
      

  6.   

    <actionName>feature1</actionName>
    <beanName>com.company.Feature1</beanName>String actionName = request.getParameter("action");
    String beanName = loadBean(actionName );//做一个读取xml文件的工具类方法
    Interface feature = (Interface )Class.forName(beanName );//each逻辑一个类,实现Interface,通过一个小反射
    feature.doFeature();
      

  7.   

    controller 里面可以分很多方法
      

  8.   

    观察者模式。
    你只需要考虑从传的 action 参数,能获取的对应的 JavaBean,然后执行统一的方法就行了。
    SpringMVC,struts 框架都已经实现了。 自己做一个简单的也一样。
      

  9.   

    别整servlet了。直接用框架吧。spring mvc。它用dispatchservlet根据你的请求路径找到对应的action。业务处理你就在各个action
    中写代码就行了。