Java web在MVC模式下,怎样设计作为控制器的Controller才能使得它不那么臃肿庞大? 你可以用多个 action,没必要用一个 然后再用key来区分,这样是台臃肿了吧, 可以用下struts2 比如说 登录 注册 忘记密码 用一个action 然后里面对应不同的方法就可以,你用servlet的话 要不就分开来 一个功能一个servlet 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.springmvc里面可不只一个方法,做好的做法是一个业务一个方法2.用上面的方法之后,每个方法都有独立的跳转url3.request的生命周期 就是只存在在一次,当提交到后台或者后台设置到前台之后,只在后台或者跳转后的页面存在 不同的业务用不同的url区分,为什么所有的请求都要映射到同一个servlet里然后用key来区分到底要做什么呢? 对于Controller太臃肿的问题,我喜欢两种方法,当都是按照不同的业务分成很多个Controller,如何结合有所不同1.层层上报型,有一个主Controller,下面一堆子Controller负责一个小细节,如果子Controller还太复杂,再继续分更小的Controller,以此类推,响应事件/业务时,最小的Controller最先得到,最先处理,如果处理不了或者需要进一步处理或者需要上级传达消息给其他Controller那么将这个业务上报,这样层层上报,直到完成所有工作。2.各司其职型,还是有一个主Controller,但它只包装事件,当出现新的事件/业务请求时,主Controller将这个请求稍作包装,作为一种全局事件在其他业务Controller之间传递,每个业务Controller都能拿到所有事件,但它只关心它能处理的事件,捕获到后进行处理,如需后续处理则继续将这个封装成一个新事件进行传递。在效率不是关键问题的情况下第二种感觉相当灵活,没有事件分发,不需要绑定一堆监听器,可以动态添加删除模块,只要遵循一个统一的封装原则,那么每个Controller之间互不干涉,调试阅读起来都相当轻松 和3楼一样,用url来分发不同业务,用filter估计比servlet更方便,参考oschina的实现http://www.oschina.net/code/snippet_12_2832具体的细节没看懂 1、 用框架,把你解放出来,你专注业务2、 还是框架3、 还是框架推荐 Spring mvc 框架 <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(); controller 里面可以分很多方法 观察者模式。你只需要考虑从传的 action 参数,能获取的对应的 JavaBean,然后执行统一的方法就行了。SpringMVC,struts 框架都已经实现了。 自己做一个简单的也一样。 别整servlet了。直接用框架吧。spring mvc。它用dispatchservlet根据你的请求路径找到对应的action。业务处理你就在各个action中写代码就行了。 在线求教(怎么看自己的的web项目用了多少内存)急! 一个晚上没解决的问题!郁闷 jsp页面控件 jsp 使用struts标签时出现语法错误 java.lang.OutOfMemoryError: OutOfMemoryError in native code. Java Web在金融领域的应用情况 关于Oracle.插入时候出现超出数据长度的问题 来帮帮忙啊!!!! htmlunit2.9 新浪微博 登录问题 dubbo+ssh could not initialize proxy - no Session http和https访问混乱 tcp为什么要三次握手?
2.用上面的方法之后,每个方法都有独立的跳转url
3.request的生命周期 就是只存在在一次,当提交到后台或者后台设置到前台之后,只在后台或者跳转后的页面存在
2、 还是框架
3、 还是框架
推荐 Spring mvc 框架
<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();
你只需要考虑从传的 action 参数,能获取的对应的 JavaBean,然后执行统一的方法就行了。
SpringMVC,struts 框架都已经实现了。 自己做一个简单的也一样。
中写代码就行了。