当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 综述:Java Servlet是JSP技术的基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。
 

 

    摘要:   综述:linux由于其超强的安全性、稳定性,而受到越来越广泛的使用。下面就以redhat为例,看看在linux下,jsp开发环境是如何建立的。  虽然apache jserv的开发小组现在都从事tomcat的开发,而且apache jserv只支持servlet 2.0的标准,并且要加其他的软件(gnujsp)才能支持jsp;但是apache jserv在现阶段比tomcat稳定,因此现在a......
 ·用户登录验证的jsp完整程序    »显示摘要«
    摘要:    public string validateuser(string inputuserid, string inputpwd) throws sqlexception{string returnstring = null;string dbuserid = "userid"; // 数据库的用户名string dbpassword = "password" ; //数据库的密......


JSP与Servlet
  综述:java servlet是jsp技术的基础,而且大型的web应用程序的开发需要java servlet与jsp配合才能完成.现在许多web服务器都支持servlet,即使不直接支持servlet的web服务器,也可以通过附件的应用服务器与模块来支持servlet,这得益于java的跨平台特性.另外,由于servlet内部以线程方式提供提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此servlet的效率非常高.

  但它并不是没有缺点,与传统的cgi.isapi.nsapi方式相同,java servlet也是利用输出html语句来实现动态网页的,如果用它来开发整个网站,动态部分与静态页面的整合过程将变得无法想象.这就是sun还要推出jsp的原因. 【程序编程相关:在Linux上构建JSP环境

【推荐阅读:PWIN98营造JSP环境及建立数据查询

  如何正确理解servlet? 【扩展信息:Servlet中jdbc应用高级篇(四)

  servlet的基本概念

  一.servlet的结构

  在具体掌握servlet之前,须对java语言有所了解.我们假设读者已经具备一定的java基础.在servlet api中最重要的是servlet接口(interface),所有的servlets都必须实现该接口,途径有很多:一是直接实现该接口,二是通过扩展类(class)来实现,如 httpservlet. 这个servlet接口提供了servlet与客户端联系的方法.servlet编写者可以在他们开发 servlet程序时提供更多一些或所有的这样方法.

  当一个servlet接收来自客户端的调用请求, 它接收两个对象:一个是servletrequest,另外一个是servletresponse.这个servletrequest类概括从客户端到服务器之间的联系,而 servletresponse类概括从servlet返回客户端的联系.

  servletrequest接口可以获取到这样一些信息,如由客户端传送的阐述名称,客户端正在使用的协议,产生请求并且接收请求的服务器远端主机名.它也提供获取数据流的servletinputstream, 这些数据是客户端引用中使用http post 与 put 方法递交的.一个servletrequest的子类可以让servlet获取更多的协议特性数据.例如:httpservletrequest 包含获取 http-specific头部信息的方法.

  servletresponse接口给出相应客户端的servlet方法.它允许servlet设置内容长度与回应的mime类型,并且提供输出流servletoutputstream,通过编写者可以发回相应的数据.servletresponse子类可以给出更多protocol-specific内容的信息. 例如:httpservletresponse 包含允许servlet 操作http-specific头部信息的方法.

  上面有关类与接口的描述,构成了一个基本的servlet框架.http servlets有一些附加的可以提供session-tracking capabilities的方法.servlet编写者可以利用这些api,在有他人操作时维护servlet与客户端之间的状态.

  二.servlet的接口

  我们编写的servlet ,一般从javax包的httpservlet类扩展而来,在httpservlet中加入了一些附加的方法,这些方法可以被协助处理http 基本请求的httpservlet类中的方法service自动地调用.这些方法有:

  · doget 用来处理http的get请求.

  这个get操作仅仅允许客户从http server上取得(get)资源.重载此方法的用户自动允许支持方法head.这个get操作被认为是安全的,没有任何的负面影响,对用户来说是很可靠的.比如,大多数的正规查询都没有副作用.打算改变存储数据的请求必须用其他的http方法.这些方法也必须是个安全的操作.方法doget的缺省实现将返回一个http的bad_request错误.

  方法doget的格式:

  protected void doget(httpservletresquest request, httpservletresponse response)

  throws servletexception,ioexception;

  · dopost 用来处理http的post请求.

  这个post操作包含了在必须通过此servlet执行的请求中的数据.由于它不能立即取得资源,故对于那些涉及到安全性的用户来说,通过post请求操作会有一些副作用.

  方法dopost的缺省实现将返回一个http的bad_request错误.当编写servlet时,为了支持post操作必须在子类httpservlet中实现(implement)此方法.

  此方法的格式:

  protected void dopost(httpservletresquest request, httpservletresponse response)

  throws servletexception,ioexception;

  · doput用来处理http的put请求.

  此put操作模拟通过ftp发送一个文件.对于那些涉及到安全性的用户来说,通过put请求操作也会有一些副作用.

  此方法的格式:

  protected void doput(httpservletresquest request,httpservletresponse response)

  throws servletexception,ioexception;

  · dodelete用来处理http的delete请求.

  此操作允许客户端请求一个从server移出的url.对于那些涉及到安全性的用户来说,通过delete请求操作会有一些副作用.

  方法dodelete的缺省实现将返回一个http的bad_request错误.当编写servlet时,为了支持delete操作,必须在子类httpservlet中实现(implement)此方法.

  此方法的格式:

  protected void dodelete (httpservletresquest request, httpservletresponse response)

  throws servletexception,ioexception;

  · dohead 用来处理http的head请求.

  缺省地,它会在无条件的get方法执行时运行,但是不返回任何数据到客户端.只返回包含内容信息的长度的header.由于用到get操作,此方法应该是很安全的(没有副作用)也是可重复使用的.此方法的缺省实现(implement)自动地处理了httpde的head操作并且不需要通过一个子类实现(implement).

  此方法的格式:

  protected void dohead (httpservletresquest request,httpservletresponse response)

  throws servletexception,ioexception;

  · dooptions用来处理http的options请求.

  此操作自动地决定支持什么http方法.比如说,如果读者创建httpservlet的子类并重载方法doget,然后方法dooptions会返回下面的header:

  allow:get,head,trace,options

  一般不需要重载方法dooptions.

  此方法的格式:

  protected void dooptions (httpservletresquest request, httpservletresponse response)

throws servletexception,ioexception;

  · dotrace用来处理http的trace请求.

  此方法的缺省实现产生一个包含所有在trace请求中的header的信息的应答(response).在开发servlet时,多数情况下需要重载此方法.

  此方法的格式:

  protected void dotrace (httpservletresquest request, httpservletresponse response)

  throws servletexception,ioexception;

  在开发以http为基础的servlet中,servlet开发者关心方法doget与方法dopost即可.
...   下一页
 ·jsp语法(14)usebean    »显示摘要«
    摘要: <jsp:usebean> 创建一个bean实例并指定它的名字和作用范围. jsp 语法 <jsp:usebean id="beaninstancename" scope="page | request | session | application" { class="package.class" | type="packag......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE