关于如何在一个servlet中实现多个功能
最近做项目,然后规范是实体对象的业务处理交给servlet完成。但是我觉得是一个新增的功能就是一个servlet一个修改的功能又是一个servlet我想能不能把这两个功能 同时放在一个servlet里。只是表单提交的时候传个值取判断。我记得自己是在哪里有看到过的,忘记了!还请高手赐教!
------解决方案--------------------一个功能
<from action="servletName?op=1"...
另一个功能
<from action="servletName?op=2"...
if(op==1){ 一个功能
这个意思?
------解决方案--------------------加个参数 根据参数调用不同的方法 例如action=add 或者action=update
------解决方案--------------------可以啊,Struts 1 就是这么做的,不过 Struts 1 有另外的配置文件。
------解决方案--------------------建议你先这样做吧,照你想的肯定是可以做到的,但是有点麻烦,对基础编程有很高的要求。除了 Servlet 之外,还要熟悉反射、XML 或者其他配置文件的解析。
你可以自己想想看该如何做,呵呵。
给你一个提示,将一个 Servlet 映射成为 *.htm 的 URL pattern,根据 xxx.htm 的 xxx 通过配置文件去寻找具体的执行类就可以了。当然了,这个 Servlet 在这里起了核心控制器的作用,呵呵。
这是一种 J2EE 的设计模式,名字叫“前端控制器”,可以在 Oracle 的 Sun 开发者网络上找到相关资料:
J2EE 核心模式目录及结构
http://java.sun.com/blueprints/corej2eepatterns/Patterns/
前端控制器(front controller)
http://java.sun.com/blueprints/corej2eepatterns/Patterns/FrontController.html
------解决方案--------------------
------解决方案--------------------你的操作方法,挺好的~~
有空可以用用struts,用起来挺简单的~~~
------解决方案--------------------有一个小的建议:
action.equals("remove")
关于这句话,建议写成"remove".equals(action)
针对你的话,你开始要判断action是否为空~
------解决方案--------------------有时间看看struts1.x的源码吧,我给你个简单的实现方式
先写个接口,然后让所有的操作实现这个接口
Java code
public interface Action {
public String execute(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException,ActionException;
}