我的 JavaEE 模型视图控制器实现
我想问一个关于我如何决定实现 MVC 模式的问题 对于一个简单的 javaEE 应用程序(当我说 javaEE 时,我的意思是纯 javaEE,没有任何 附加框架,例如:servlet、jsp ejbeans...)。 我的 mvc 是这样工作的:
Actors:
- view ->一组jsp页面;
- 控制器->单个 servlet;
- 型号->一组包含静态方法的不可实例化的 java 类。
功能: 每个用户请求都由 servlet 管理,servlet 决定正确的请求 在模型的类之间调用的静态方法。尤其, jsps中的每个表单都包含3个隐藏字段:classToCall、methodToCall 和目的地页面。一旦 servlet 收到 http post,它就会读取 这 3 个隐藏字段并
- 通过反射传递 HttpRequest 作为参数调用正确类中的正确方法,
- 将用户转发到显示计算结果的正确 jsp。
我的主要疑问是将模型的实现视为“静态”类:因为许多 框架通常通过动态创建 bean 并调用来处理用户请求 它的实例方法,我想知道我的“静态”模型是否可以有任何 “禁忌症”。
非常感谢您的帮助,再见 尼科
I would like to ask a question on how I decided to implement the MVC pattern
for a simple javaEE application (when I say javaEE I mean pure javaEE without any
additional framework, so: servlet, jsp ejbeans...).
My mvc works in this way:
Actors:
- view -> a set of jsp pages;
- controller -> a single servlet;
- model -> a set of non-instantiable java classes containing static methods.
Functioning:
each user request is managed by the servlet which decides the correct
static method to call among the classes of the model. In particular,
each form in the jsps contains 3 hidden fields: classToCall, methodToCall
and destionationPage. Once the servlet receives the http post, it reads
these 3 hidden fields and
- call the right method in the right class via reflection passing the HttpRequest as parameter
- forwards the user to the correct jsp which displays the result of the computation.
My main doubt regards the implementation of the model as "static" classes: since many
frameworks tipically handle user requests by creating a bean on the fly and calling
an instance method of it, I would like to know if my "static" model can have any
"contraindication".
Thanks a lot for your help, bye
Nico
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
:) 你可以使用 jsf 2.0 集成在 javaEE6 中 :) 并且是纯 java ee :)
这里是一个概述: javaEE 6 概述
不要尝试重新发明这个.. :) jsf 2.0 也集成了 ajax :) 你只有写jsf而不是jsp...:)或者你可以同时写...jsp和jsf...但我建议你只写jsf
但是如果你想写你自己的...我不建议你使用静态函数...
你应该使用AOP和依赖注入..
你可能还想创建自己的bean工厂..并不难..我发现这很容易...你只需要为bean做一些注释来看看它是一个bean还是其他东西..或者只使用一个XML文件定义你的bean...并通过反射访问它们...
你可以在这里看到更多答案:何时不使用Java中的static关键字?
:) you can use jsf 2.0 is integrated in javaEE6 :) and is pure java ee :)
here is an overview: javaEE 6 overview
Don't try to reinvent this.. :) jsf 2.0 also has ajax integrated :) you only have to write jsf and not jsp... :) or you can write both... jsp and jsf... but I recommend you only jsf
But if you want to write your own... I do not recommend you use static functions...
You should use AOP and dependecy injection..
You might also want to make your own bean factory.. is not that hard.. I find it easy ... you just have to do some annotations for beans to see if it's a bean or something.. or just use an XML file to define your beans... and with reflection access them...
You can see more answers here: When NOT to use the static keyword in Java?