`
zhizhesky
  • 浏览: 3663 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

准备造个 servlet model 和 controller 间的轮子

阅读更多
如题, 准备造个 servlet  model 和 controller 间的轮子,为啥不用 struts 或 spring mvc 等 mvc 框架? 貌似一下说不清,主要还是考虑的性能,以及现有的模块的特殊性 。

首先,就是要考虑如何映射和实例化 action / controller, 单实例还是多实例?我偏向 单实例异步。咱们要的就是效率。
如何实例化调用 action 呢? 还是用反射吧,我看tomcat6 的源码,里面都用了反射。不过每个request 都用到反射? 先写到这了,希望大家多提意见。

附:struts1 vs struts2

struts2.x是线程安全的,每一个对象产生一个实例,避免了线程安全问题;而struts1.x在action中属于单线程。

• Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。
• Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题,前提是在 jdk1.5 +)
分享到:
评论
1 楼 pengzhoushuo 2010-06-30  
呵呵,碰到同样的人了,我也自己实现了个轮子,不敢每个请求实例化一个Action,后来也做成了单实例的。为什么不用struts1跟springMVC,主要是觉得他们太烦了,想简化。我自己搞个不通用但性能要高于它们的MVC。

相关推荐

    开发基于JSP Servlet JavaBean的网上交易系统Chapter1

    此外,Struts、Hibernate和Spring等框架在中间层中起到了简化开发、规范流程的作用,比如Struts用于MVC(Model-View-Controller)设计模式,Hibernate则是一个对象关系映射(ORM)工具,能将Java对象与数据库表进行...

    准备的常用 lib包

    Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,由Apache软件基金会维护。它使得开发者能够更有效地组织和构建动态网站应用。Struts的核心功能包括请求调度、动作控制、业务逻辑处理、表单...

    Java程序开发教学课件:16JSPModel.pptx

    JSP Model 2引入了Model-View-Controller(MVC)架构,进一步分离了业务逻辑、视图和控制。在这个模型中,JSP主要负责显示视图,Servlet或控制器处理请求,而模型(通常是JavaBean)则负责业务逻辑。这种分离使代码...

    外文翻译 stus MVC

    This article introduces Struts, a Model-View-Controller implementation that uses servlets and JavaServer Pages (JSP) technology. Struts can help you control change in your Web project and promote ...

    Structs实践教程

    其核心价值在于封装了一系列通用的应用服务,如控制流程、输入验证、错误处理以及标签库等,从而允许开发者专注于业务逻辑的编写,而无需重复造轮子。 #### 二、Struts框架的工作原理:从Model1到Model2 ##### ...

    Strust技术入门

    将这些共性提取出来,形成框架,可以让开发者专注于业务逻辑,而不是重复造轮子。通过框架,可以提高开发效率,同时确保代码的质量和稳定性。 (3)使用框架的好处 使用框架的主要优点包括减少重复工作、提高代码...

    Struts培训教程讲义

    Web框架的核心价值在于能够提供一系列应用服务,使得开发人员能够专注于实现应用程序的独特业务逻辑,而不是重复造轮子。 ##### 1.2 为什么需要Web框架? - **节省时间和资源**:使用现成的Web框架可以显著减少...

    基于struts的图书管理系统 -源码.zip

    Struts是Apache软件基金会 Jakarta项目下的一个开源框架,主要用于构建基于Java的企业级Web应用程序。...同时,阅读和理解别人的代码也是一种很好的学习方式,可以帮助我们吸取经验,避免重复造轮子,提高开发效率。

    Java软件工程师面试笔试题 (3).pdf

    MVC(Model-View-Controller)设计模式是一种广泛应用于Web应用程序开发的架构模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。 1. Model:模型层,负责处理数据的业务...

    【明日科技】实战突击javaweb整合开发1-4章

    4. **MVC模式**:Model-View-Controller模式是javaweb开发中常见的设计模式。模型层负责业务逻辑,视图层负责展示,控制器层负责协调。了解MVC架构并能运用到实际项目中,有助于提高代码组织性和可维护性。 5. **...

    java web学习的所有api中文文档

    开发者可以通过查阅文档来了解特定功能的实现方式,学习最佳实践,避免重复造轮子,并且能及时解决编程过程中遇到的问题。 总之,这份"Java Web学习的所有API中文文档"集合了Java Web开发的全面参考资料,无论你是...

    专家门诊-JSP开发答疑200问源代码

    此外,这些实际案例和源代码还能帮助开发者在遇到类似问题时,快速找到解决思路,避免重复造轮子,提升开发效率。总之,《专家门诊-JSP开发答疑200问源代码》是一份全面、实用的JSP学习资料,对JSP初学者和有经验的...

    Struts-notes-all

    1. **基于现有的 Java Web 组件**:Struts 并没有重新发明轮子,而是基于已有的 Java Web 组件如 Servlet、JSP 和 JavaBean 进行构建。这种方式使得开发者可以充分利用现有的技术和工具,而不需要学习全新的组件。 ...

    设计模式_可复用面向对象软件的基础

    在JSP中,我们可以利用MVC(Model-View-Controller)设计模式来分离业务逻辑、数据和用户界面。模型层处理数据,视图层负责展示,控制器接收请求并协调模型和视图。此外,还可以使用工厂模式来创建Servlet实例,或...

    积累的JAR包

    标签"Sshspringmvc"揭示了部分JAR包可能与两个流行的Java Web框架相关:Struts(S)和Spring MVC(Spring Model-View-Controller)。Struts是Apache组织的一个开源项目,它提供了MVC架构的实现,帮助开发者构建基于...

    大学毕业论文-—开源技术struts、spring、hibernate在mis开发中的应用研究.doc

    1. **Struts**: Struts 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它提供了一种组织应用程序结构的方式,使得开发者能够更好地分离业务逻辑、数据模型和用户界面。Struts通过控制器Servlet...

    grails 文档

    Grails 的强大之处在于其插件生态,如Security、Spring Security Core、Cache、Ajax等,它们提供开箱即用的功能,减少重复造轮子的工作。 6. **Grails URL 映射** 通过配置URL映射,Grails允许开发者定义清晰、...

    J2EE核心模式005.pdf

    - **MVC (Model-View-Controller)**:将应用程序分为三个主要部分,使得代码更加模块化和易于维护。 - **Facade (外观)**:提供一个统一的接口,隐藏了子系统的复杂性。 - **Singleton (单例)**:确保一个类只有一个...

Global site tag (gtag.js) - Google Analytics