jbuilder2005:JBuilder2005 Servlet开发的开发必备

  用Servlet可以创建协议、平台无关Web应用Applet运行于浏览器JRE中而Servlet则运行于Web应用服务器Servlet容器中Servlet没有用户图形界面Servlet和Web应用服务器Servlet容器交互以接收请求返回响应请求最先由Web应用服务器Servlet容器处理并传给ServletServlet通过Web应用服务器返回响应给客户端客户端可以使用任何可向Web应用服务器发送请求语言开发

  Servlet最大优势在于它高性能Servlet采用了和CGI截然区别运行方式首先Servlet在第化时装载并驻留在内存中以后直接从内存中运行;其次在默认情况下Servlet以单例子多线程方式工作个新请求到达后Servlet例子开启个新线程服务这个请求

  Servlet 结构和线程安全

  所有Servlet都直接或间接地实现Javax.servlet.Servlet接口这些接口规定了Servlet如何和Servlet容器进行通讯思路方法此外还定义了Servlet生命周期GenericServlet是和协议无关通用ServletHttpServlet是专门针对HTTP协议开发ServletWeb应用Servlet都直接继承HttpServlet其类继承体系如下图所示:



  图 1 Servlet类继承体系

  javax.servlet.Servlet接口包括了3个控制Servlet生命周期思路方法它们分别是:

  ·init(ServletConfig config)思路方法

  当Servlet化时init思路方法被执行化Servlet工作init思路方法只被Servlet化后就进入就绪态随时准备响应客户端请求

  ·service(ServletRequest req, ServletResponse resp)思路方法

  Servlet容器service思路方法处理请求并返回响应ServletRequest和ServletResponse作为入参传给serviceServletRequest封装了请求信息而ServletResponse封装了响应信息

  ·destroy思路方法

  Servlet容器可以在任何时候卸载Servlet此时destory你可以在这儿释放Servlet所占用资源

  而javax.servlet.http包中类用于支持HTTP协议创建HTML网页HTTP协议是基于请求/响应工作模式这些HTTP请求方式包括:

  GET

  POST

  PUT

  DELETE

  HEAD

  TRACE

  CONNECT

  OPTIONS

  javax.servlet.http.HttpServlet定义了多个服务HTTP协议思路方法这些思路方法名为doXxx样式命名和HTTP请求方式名相呼应:如HTTP GET请求方式对应doGet而HTTP POST对应doPostHttpServlet最初以service(HttpServletRequest req, HttpServletResponse resp)响应客户端请求并依据HTTP请求方式相应doXxx思路方法来处理

  你仅需要覆盖doGet或doPost思路方法如果希望得到更多控制你也可以覆盖doPut和doDelete思路方法其他思路方法般很少使用如果你使用JBuilderServlet向导你可以具体指定创建哪些思路方法

  特别需要指出是Servlet是以多线程方式工作Servlet可以同时处理多个请求作为开发人员需要注意Servlet成员变量线程安全在doGet、doPost局部域变量是线程安全而Servlet成员变量则有线程安全隐患所以除非你有意需要应用这种特性般情况下不宜将些可改写变量定义成Servlet成员变量否则定要采取线程同步措施确保线程安全

  Servlet特性及适用场合

  虽然Servlet也可以用于生成动态网页但这个功能已经逐渐让位给新锐JSP了不过Servlet并没有江山代有才人而成为Java历史博物馆古董它依然身怀绝技笑傲江湖:

  ·自动启动

  般情况下JSP只有在客户端第方才进行编译并而Servlet则可以通过web.XML<load-on-startup>配置使其在Web容器启动时自动可使用Servlet这个特性完成Web应用化工作:如下载字典表、控制表、化配置信息等启动某个后台进程等

  ·路径匹配映射

  Servlet可以通过web.xml 中<servlet-mapping>用通配符配置URI映射对多个匹配URI进行响应而JSP只能通过个具体URI这个特性可以使你在请求进入某个具体页面前截获并处理它许多Web应用框架如Struts、Spring都利用了Servlet这个特性在此基础上创建构架

  ·Servlet过滤器

  Servlet过滤器继承于javax.servlet.Servlet并实现javax.servlet.Filter在请求到达服务前和响应发往客户端前进行加工处理如果有大量页面都需要进行相同处理则可以使用个Servlet过滤器对此并处理如你可以用Servlet过滤器进行编码转换、或者为每个页面添加个统标题头等

  ·Servlet监听器

  J2EE定义了多个Web事件监听器接口Servlet监听器是继承javax.servlet.Servlet并实现这些事件监听接口如果Web应用服务器对某个Web容器事件感兴趣就可以构造个实现该事件监听接口Servlet以便在该事件发生时做相应处理灵活使用Servlet监听器可以使些原来很难实现操作变得易如反掌



  此外如果个动态网页页面展现逻辑少而业务处理逻辑多个计算圆周率并返回结果页面请求这时使用Servlet比JSP更适合所以需要创建个动态网页在到底使用Servlet还是JSP问题上举棋不定时请这记住下面这句经典话:Servlet是包含HTML代码Java而JSP是包含Java代码HTML网页



Tags:  servlet开发 jbuilder2005序列号 jbuilder2005注册码 jbuilder2005

延伸阅读

最新评论

发表评论