仓酷云

标题: JAVA编程:JBuilder2005 Servlet开辟之开辟必备 [打印本页]

作者: 分手快乐    时间: 2015-1-18 11:09
标题: JAVA编程:JBuilder2005 Servlet开辟之开辟必备
诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net里有这些工具吗?要简单多少?。servlet  用Servlet能够创立协定、平台有关的Web使用程序,Applet运转于扫瞄器的JRE中,而Servlet则运转于Web使用服务器的Servlet容器中,Servlet没有效户图形界面,Servlet和Web使用服务器的Servlet容器交互以吸收哀求前往呼应。哀求开始由Web使用服务器的Servlet容器处置并传给Servlet,Servlet经由过程Web使用服务器前往呼应给客户端。客户端程序可使用任何可向Web使用服务器发送哀求的言语开辟。

  Servlet最年夜的上风在于它的高功能,Servlet接纳了和CGI一模一样的运转体例,起首Servlet在第一次初始化古装载并驻留在内存中,今后间接从内存中运转;其次,在默许情形下Servlet以单实例多线程的体例事情,一个新哀求抵达后,Servlet实例开启一个新的线程服务这个哀求。

  Servlet布局和线程平安

  一切的Servlet都间接或直接地完成javax.servlet.Servlet接口,这些接口划定了Servlet怎样与Servlet容器举行通信的办法,别的还界说了Servlet的性命周期。GenericServlet是和协定有关的通用Servlet,HttpServlet是专门针对HTTP协定开辟的Servlet,Web使用程序的Servlet都间接承继HttpServlet。其类的承继系统以下图所示:

JAVA编程:JBuilder2005 Servlet开辟之开辟必备
登录/注册后可看大图

Servlet的类承继系统
  javax.servlet.Servlet接口包含了3个把持Servlet性命周期的办法,它们分离是:

  ・init(ServletConfigconfig)办法

  当Servlet初始化时,init()办法被挪用实行初始化Servlet的事情,init()办法只被挪用一次。Servlet初始化后就进进停当态,随时筹办呼应客户真个哀求。

  ・service(ServletRequestreq,ServletResponseresp)办法

  Servlet容器挪用service()办法处置哀求并前往呼应。ServletRequest和ServletResponse作为进参传给service(),ServletRequest封装了哀求的信息而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哀求体例名相照应:如HTTPGET哀求体例对应doGet(),而HTTPPOST对应doPost()等。HttpServlet最后以service(HttpServletRequestreq,HttpServletResponseresp)呼应客户端哀求,并根据HTTP的哀求体例挪用响应的doXxx()办法来处置。

  一样平常的,你仅必要掩盖doGet()或doPost()办法,假如但愿失掉更多的把持,你也能够掩盖doPut()和doDelete()办法,其他的办法一样平常很少利用。假如你利用JBuilder的Servlet导游,你能够详细指定创立哪些办法。

  出格必要指出的是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网页。
用java开发web只要两本书:一本是关于java基础的,一本是关于jsp、servlet的就可以了。开发周期长,我就来讲句题外话,现在有很多思想都是通过java来展现。
作者: 兰色精灵    时间: 2015-1-20 15:24
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
作者: 柔情似水    时间: 2015-1-24 16:53
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
作者: 透明    时间: 2015-2-2 11:16
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
作者: 乐观    时间: 2015-2-7 18:40
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
作者: 活着的死人    时间: 2015-2-8 14:21
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
作者: 第二个灵魂    时间: 2015-2-10 02:23
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
作者: admin    时间: 2015-2-28 15:34
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
作者: 因胸联盟    时间: 2015-3-10 00:25
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
作者: 小女巫    时间: 2015-3-17 03:10
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
作者: 飘灵儿    时间: 2015-3-23 17:57
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2