首页 / 网页编程 / JSP / 在JSP-Servlet开发中导入事件驱动技术
在JSP-Servlet开发中导入事件驱动技术2013-12-16JSP-SERVLET为WEB应用程序开发者提供了一个优秀的平台。但是,现在国内大多数的基于JSP-SERVLET的开发都处在最基础的状态,代码重用率低,开发效率低,无法适应大型、复杂的WEB开发要求。首先,要实现事件驱动,必须在JSP-SERVLET开发中采用MVC技术。M=Model(模型)V=View(视图)C=Control(控制)视图(V)定义了用户界面。模型(M)定义了抽象类和逻辑。控制(C)则负责根据视图发生的事件调用模型的逻辑完成业务处理。一般Model(模型)由普通的java类来实现。View(视图)由jsp来实现。Control(控制)由servlet来实现。视图和模型是紧密关联,又相互独立的。模型是视图的抽象,必须包含一定的逻辑来处理视图所表现的对象的事件。同时对于相同的逻辑,视图可以以各种方式表现。例如,在web开发中,[1] 对于一个代表“单选”抽象的SingleSelection类,在用户的浏览器上可以显示为Radio button, 也可以是单选下拉框,或者是其他任何的单选性质的控件。[2] 对于一个代表“提交”抽象的Submition类,在用户的浏览器上可以显示为Submit button, 也可以是超链接、图片,甚至可以是可触发JavaScript的submit()方法的任何控件。事件驱动对于MVC技术是极其重要的,主要由Control(控制)来实现。而JSP-SERVLET的实现本身就非常适合于编写事件驱动的程序。众所周知,javax.servlet.http.HttpServlet类每次都调用doPost(HttpServletRequest req, HttpServletResponse resp)或者doGet(HttpServletRequest req, HttpServletResponse resp)方法来响应客户端的submit操作。Servlet响应的事件就是客户端浏览器的submit操作。客户端浏览器的submit事件触发Servlet的特定事件处理方法,但是入口只有一个:javax.servlet.http.HttpServlet类的service(HttpServletRequest req, HttpServletResponse resp)方法。(具体到对于客户端的操作的响应,则可能是doPost(HttpServletRequest req, HttpServletResponse resp)或者是doGet(HttpServletRequest req, HttpServletResponse resp)方法。所以可以重写这些方法来控制Servlet对submit事件的响应处理,调用不同的JSP,JAVA BEAN,甚至于EJB。例:EventDrivenServlet继承javax.servlet.http.HttpServlet,并且重写doPost(HttpServletRequest req, HttpServletResponse resp)和doGet(HttpServletRequest req, HttpServletResponse resp)方法,令这2个方法都直接调用同一个方法,我们把这个方法命名为“act”??void act(HttpServletRequest req, HttpServletResponse resp)