您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 菜鸟教程Servlet(零基础jsp学习java编程)
Servlet教程Servlet为创建基于web的应用程序提供了基于组件、独立于平台的方法,可以不受CGI程序的性能限制。Servlet有权限访问所有的JavaAPI,包括访问企业级数据库的JDBCAPI。本教程将讲解如何使用JavaServlet来开发基于web的应用程序。现在开始学习Servlet!谁适合阅读本教程?本教程是专为Java程序员设计的。在阅读本教程之前,需要先了解JavaServlet框架和它的API。学习完本教程后,您会发现自己已经达到使用JavaServlet的中等水平,后续您可以自行通过更深入的学习和实践完成进阶。阅读本教程前,您需要了解的知识:在您开始阅读本教程之前,最好对Java编程语言有一个很好的理解。如果您对web应用程序和互联网如何工作的有基本的认识,将有助于您理解本教程。Servlet简介Servlet是什么?JavaServlet是运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。使用Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。JavaServlet通常情况下与使用CGI(CommonGatewayInterface,公共网关接口)实现的程序可以达到异曲同工的效果。但是相比于CGI,Servlet有以下几点优势:性能明显更好。Servlet在Web服务器的地址空间内执行。这样它就没有必要再创建一个单独的进程来处理每个客户端请求。Servlet是独立于平台的,因为它们是用Java编写的。服务器上的Java安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此,Servlet是可信的。Java类库的全部功能对Servlet来说都是可用的。它可以通过sockets和RMI机制与applets、数据库或其他软件进行交互。Servlet架构下图显示了Servlet在Web应用程序中的位置。Servlet任务Servlet执行以下主要任务:读取客户端(浏览器)发送的显式的数据。这包括网页上的HTML表单,或者也可以是来自applet或自定义的HTTP客户端程序的表单。读取客户端(浏览器)发送的隐式的HTTP请求数据。这包括cookies、媒体类型和浏览器能理解的压缩格式等等。处理数据并生成结果。这个过程可能需要访问数据库,执行RMI或CORBA调用,调用Web服务,或者直接计算得出对应的响应。发送显式的数据(即文档)到客户端(浏览器)。该文档的格式可以是多种多样的,包括文本文件(HTML或XML)、二进制文件(GIF图像)、Excel等。发送隐式的HTTP响应到客户端(浏览器)。这包括告诉浏览器或其他客户端被返回的文档类型(例如HTML),设置cookies和缓存参数,以及其他类似的任务。Servlet包JavaServlet是运行在带有支持JavaServlet规范的解释器的web服务器上的Java类。Servlet可以使用javax.servlet和javax.servlet.http包创建,它是Java企业版的标准组成部分,Java企业版是支持大型开发项目的Java类库的扩展版本。这些类实现JavaServlet和JSP规范。在写本教程的时候,二者相应的版本分别是JavaServlet2.5和JSP2.1。JavaServlet就像任何其他的Java类一样已经被创建和编译。在您安装Servlet包并把它们添加到您的计算机上的Classpath类路径中之后,您就可以通过JDK的Java编译器或任何其他编译器来编译Servlet。下一步呢?接下来,本教程会带你一步一步地设置您的Servlet环境,以便开始后续的Servlet使用。因此,请系紧您的安全带,随我们一起开始Servlet的学习之旅吧!相信您会很喜欢这个教程的。Servlet环境设置开发环境是您可以开发、测试、运行Servlet的地方。就像任何其他的Java程序,您需要通过使用Java编译器javac编译Servlet,在编译Servlet应用程序后,将它部署在配置的环境中以便测试和运行。如果你使用的是Eclipse环境,可以直接参阅:EclipseJSP/Servlet环境搭建。这个开发环境设置包括以下步骤:设置Java开发工具包(JavaDevelopmentKit)这一步涉及到下载Java软件开发工具包(SDK,即SoftwareDevelopmentKit),并适当地设置PATH环境变量。您可以从Oracle的Java网站下载SDK:JavaSEDownloads。一旦您下载了SDK,请按照给定的指令来安装和配置设置。最后,设置PATH和JAVA_HOME环境变量指向包含java和javac的目录,通常分别为java_install_dir/bin和java_install_dir。如果您运行的是Windows,并把SDK安装在C:\jdk1.5.0_20中,则需要在您的C:\autoexec.bat文件中放入下列的行:setPATH=C:\jdk1.5.0_20\bin;%PATH%setJAVA_HOME=C:\jdk1.5.0_20或者,在WindowsNT/2000/XP中,您也可以用鼠标右键单击我的电脑,选择属性,再选择高级,环境变量。然后,更新PATH的值,按下确定按钮。在Unix(Solaris、Linux等)上,如果SDK安装在/usr/local/jdk1.5.0_20中,并且您使用的是Cshell,则需要在您的.cshrc文件中放入下列的行:setenvPATH/usr/local/jdk1.5.0_20/bin:$PATHsetenvJAVA_HOME/usr/local/jdk1.5.0_20另外,如果您使用集成开发环境(IDE,即IntegratedDevelopmentEnvironment),比如BorlandJBuilder、Eclipse、IntelliJIDEA或SunONEStudio,编译并运行一个简单的程序,以确认该IDE知道您安装的Java路径。设置Web服务器:Tomcat在市场上有许多Web服务器支持Servlet。有些Web服务器是免费下载的,Tomcat就是其中的一个。ApacheTomcat是一款JavaServlet和JavaServerPages技术的开源软件实现,可以作为测试Servlet的独立服务器,而且可以集成到ApacheWeb服务器。下面是在电脑上安装Tomcat的步骤:从上下载最新版本的Tomcat。一旦您下载了Tomcat,解压缩到一个方便的位置。例如,如果您使用的是Windows,则解压缩到C:\apache-tomcat-5.5.29中,如果您使用的是Linux/Unix,则解压缩到/usr/local/apache-tomcat-5.5.29中,并创建CATALINA_HOME环境变量指向这些位置。在Windows上,可以通过执行下面的命令来启动Tomcat:%CATALINA_HOME%\bin\startup.bat或者C:\apache-tomcat-5.5.29\bin\startup.bat在Unix(Solaris、Linux等)上,可以通过执行下面的命令来启动Tomcat:$CATALINA_HOME/bin/startup.sh或者/usr/local/apache-tomcat-5.5.29/bin/startup.shTomcat启动后,可以通过在浏览器地址栏输入访问Tomcat中的默认应用程序。如果一切顺利,那么会显示以下结果:有关配置和运行Tomcat的进一步信息可以查阅应用程序安装的文档,或者可以访问Tomcat网站:。在Windows上,可以通过执行下面的命令来停止Tomcat:C:\apache-tomcat-5.5.29\bin\shutdown在Unix(Solaris、Linux等)上,可以通过执行下面的命令来停止Tomcat:/usr/local/apache-tomcat-5.5.29/bin/shutdown.sh设置CLASSPATH由于Servlet不是Java平台标准版的组成部分,所以您必须为编译器指定Servlet类的路径。如果您运行的是Windows,则需要在您的C:\autoexec.bat文件中放入下列的行:setCATALINA=C:\apache-tomcat-5.5.29setCLASSPATH=%CATALINA%\common\lib\servlet-api.jar;%CLASSPATH%或者,在WindowsNT/2000/XP中,您也可以用鼠标右键单击我的电脑,选择属性,再选择高级,环境变量。然后,更新CLASSPATH的值,按下确定按钮。在Unix(Solaris、Linux等)上,如果您使用的是Cshell,则需要在您的.cshrc文件中放入下列的行:setenvCATALINA=/usr/local/apache-tomcat-5.5.29setenvCLASSPATH$CATALINA/common/lib/servlet-api.jar:$CLASSPATH注意:假设您的开发目录是C:\ServletDevel(在Windows上)或/user/ServletDevel(在UNIX上),那么您还需要在CLASSPATH中添加这些目录,添加方式与上面的添加方式类似。Servlet生命周期Servlet生命周期可被定义为从创建直到毁灭的整个过程。以下是Servlet遵循的过程:Servlet通过调用init()方法进行初始化。Servlet调用service()方法来处理客户端的请求。Servlet通过调用destroy()方法终止(结束)。最后,Servlet是由JVM的垃圾回收器进行垃圾回收的。现在让我们详细讨论生命周期的方法。init()方法init方法被设计成只调用一次。它在第一次创建Servlet时被调用,在后续每次用户请求时不再调用。因此,它是用于一次性初始化,就像Applet的init方法一样。Servlet创建于用户第一次调用对应于该Servlet的URL时,但是您也可以指定Servlet在服务器第一次启动时被加载。当用户调用一个Servlet时,就会创建一个Servlet实例,每一个用户请求都会产生一个新的线程,适当的时候移交给doGet或doPost方法。init()方法简单地创建或加载一些数据,这些数据将被用于Servlet的整个生命周期。init方法的定义如下:publicvoidinit()throwsServletException{//初始化代码...}service()方法service()方法是执行实际任务的主要方法。Servlet容器(即Web服务器)调用service()方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。每次服务器接收到一个Servlet请求时,服务器会产生一个新的线程并调用服务。service()方法检查HTTP请求类型(GET、POST、PUT、DELETE等),并在适当的时候调用doGet、doPost、doPut,doDelete等方法。下面是该方法的特征:publicvoidservice(ServletRequestrequest,ServletResponseresponse)throwsServletException,IOException{}service()方法由容器调用,service方法在适当的时候调用doGet、doPost、doPut、doDelete等方法。所以,您不用对service()方法做任何动作,您只需要根据来自客户端的请求类型来重
本文标题:菜鸟教程Servlet(零基础jsp学习java编程)
链接地址:https://www.777doc.com/doc-4330857 .html