您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 第3章 框架基础-Servlet与JSP技术回顾
第3章框架基础-Servlet与JSP技术回顾主要内容在MyEclipse中创建Web工程在MyEclipse中编写Servlet在MyEclipse中编写JSPServlet常用APIEL表达式语言JSP常用的指令和动JSTL标准标签库本章目标掌握Web应用的文档结构掌握Servlet的编写和访问掌握JSP的编写和访问掌握Servlet常用API掌握EL表达式语言的使用掌握JSP常用的指令和动作掌握JSTL的使用3.1创建Web应用所有JSP和Servlet程序都需要放置在一个合法有效的Web应用中才能被正确地运行和访问。Web应用的目录结构需要满足一定的要求。3.1.1Web应用文档结构每个Web应用都有一个根目录。可以把JSP文件、HTML文件和图片文件等与页面相关的文件直接放在根目录下。但是为了便于管理,通常会建立若干子目录把文件进行分类管理。一般会按照各自功能的不同把Web应用分成若干个模块,把每个模块相关的文件放在一个子目录中。3.1.1Web应用文档结构例如,使用images目录存放图片资源,使用common目录存放共享资源等。另外,在Web应用中有一个重要的子目录WEB-INF,用于存放服务器的配置文件以及在服务器端运行的类文件和一些标签文件等,该目录中的文件是不能通过浏览器访问的。3.1.1Web应用文档结构一个Web应用的文档结构大致如图所示:+myweb+各模块子文件夹+common+images+WEB-INF+classes+libweb.xml3.1.1Web应用文档结构WEB-INF文件夹WEB-INF目录中主要有如下几个文件夹或文件:classes文件夹:存放本应用的所有类文件以及properties文件(属性文件)。lib文件夹:也是用于存放类文件的,只是这些文件都是以压缩包(.jar)的形式存在的。web.xml文件:用于描述Web应用的配置信息。3.1.2创建一个Web工程利用集成开发工具可以很方便快速的创建Web应用。在MyEclipse中,提供了“WebProject”这种工程类型,生成Web工程后,其中会自动创建一个有效的Web应用目录,默认根目录名为WebRoot,并且Web应用应具备的一些基本目录和文件都会自动生成。3.1.2创建一个Web工程利用MyEclipse创建一个Web工程的步骤如下:(1)右击鼠标选择NewProject。(2)工程类型选择MyEclipseJ2EEProjectsWebProject。3.1.2创建一个Web工程(3)在ProjectName处填写工程名,通常会将工程名默认为Web应用名。单击Finish按钮,Web工程成功创建完毕。3.1.2创建一个Web工程利用MyEclipse创建的Web工程:Web工程中的WebRoot目录即为Web应用的根目录。所有和Web页面相关的资源都存放在WebRoot下。Web工程中的src目录用于存放Java源文件。Web工程的ContextrootURL属性即为该Web应用的上下文路径。3.1.3Web应用配置或部署Web服务器必须能够找到应用的根目录才可以运行这个Web应用,也就是通常所说的需要把应用发布到服务器上。有两种方式可以完成发布:第一种方式需要把应用放在特定的目录下,在Tomcat中可以把应用放在Tomcat目录下的webapps下面。另一种方式是通过配置文件完成,在配置文件中进行配置,在Tomcat中需要把配置文件放在特定的目录下。3.1.3Web应用配置或部署1.部署Web应用利用MyEclipse的部署功能,可以将Web应用直接部署到Web服务器上。若使用的是Tomcat服务器,则默认会部署到Tomcat下的webapps目录下。3.1.3Web应用配置或部署2.配置Web应用配置Web应用需要制作一个同名(Web应用名)的XML配置文件。例如:为上面的myweb应用创建同名的配置文件:myweb.xml,文件内容如下:Contextpath=/mywebdocBase=D:\MyEclipse6.0\workspace\myweb\WebRootreloadable=true/配置文件中:path表示Web应用的根路径;docBase表示Web应用的存放位置;reloadable表示可以在运行时加载classes与lib文件夹下的类和包。存放位置:%TOMCAT_HOME%\conf\Catalina\localhost目录下。3.2Servlet基础本节主要介绍Servlet的基本概念、原理和开发步骤。3.2.1什么是ServletServlet是用Java语言编写的运行在服务器端的小应用程序,能够接收Web客户端的请求,并能对Web客户端进行响应,通常是通过HTTP(HyperTextTransferProtocol)协议进行工作的。可以认为Servlet是服务器端的Applet。只是Applet运行在客户端,而Servlet运行在服务器端。3.2.2Servlet的主要方法Servlet是一个Java类,通常会有3类方法,分别是:init方法,用于初始化。destroy方法,用于释放资源。service方法,服务类方法,对用户的请求进行处理,并对用户进行响应,几乎所有处理功能都在这里完成。这类方法可以有多个,最常用的是doGet和doPost方法。3.2.3Servlet运行原理1.Servlet的工作过程如下①Servlet容器接收到客户端的请求时,先判断用户所请求的Servlet对象是否存在。如果不存在,则加载Servlet类、创建Servlet对象并实例化,然后调用init方法进行初始化。②容器创建request和response对象,并且创建一个线程,调用Servlet对象的service方法(间接调用doGet方法或者doPost方法)。③service方法产生响应,容器将响应发回客户端。④容器销毁reqeust和response对象以及相应的线程。注意:加载Servlet类、创建对象、调用初始化方法init和销毁方法destroy都只有一次。当Web应用被卸载或者服务器被关闭的时候,系统卸载Servlet,调用destroy方法释放资源。3.2.3Servlet运行原理2.Servlet的加载有两种方式:第一次请求的时候加载。服务器启动的时候加载。3.2.4MyEclipse中开发Servlet利用MyEclipse,可以在Web工程中非常方便地创建Servlet程序,并且可以根据需要为程序员自动生成其中的大部分方法。程序员只需在此基础上进行修改就可以快速开发出自己的程序。3.2.4MyEclipse中开发Servlet利用MyEclipse开发Servlet的步骤如下:(1)在3.1.2小节中创建的myweb工程的src目录上,右击鼠标,选择NewServlet。(2)在Name处输入Servlet名字,如MyServlet,单击Next按钮。3.2.4MyEclipse中开发Servlet(3)在Servlet/JSPMappingURL处配置Servlet的mappingurl信息,如:/test/MyServlet。此处配置的mappingurl即为将来访问Servlet时的地址格式。单击Finish按钮结束。3.2.4MyEclipse中开发Servlet(4)查看生成的Servlet源文件:在Eclipse环境中,创建Servlet时可以选择自动生成构造方法、init方法、destroy方法、doGet方法和doPost方法。3.2.4MyEclipse中开发Servlet(5)查看生成的Servlet源文件:MyEclipse会为新建的Servlet在web.xml中自动生成相应的配置代码。每个Servlet在web.xml中都对应一对servlet标签和一对servlet-mapping标签。其中:servlet标签用于声明Servlet。其中的子标签又包括:servlet-name用于声明Servlet的名字,是web.xml中内部使用的名字。servlet-class标签:用于声明Servlet所对应的类名。servlet-mapping标签用于进行Servlet映射。其中的子标签又包括:servlet-name标签:表示Servlet的名字,需要和上面servlet标签的servlet-name子标签中声明的名字保持一致。url-pattern标签:用于配置Servlet的访问地址。3.2.4MyEclipse中开发Servlet(6)测试Servlet的运行:可以通过以下3种方式进行:通过在浏览器中直接输入地址访问:通过超链的形式访问:ahref=第一个Servlet/a通过表单提交的方式访问:formmethod=getaction=中开发Servlet启动Tomcat服务器,使用第一种方式,即在浏览器地址栏中直接输入地址访问:运行效果如下:3.2.5开发Servlet基本流程由于MyEcilpse自身具有的强大功能,上面开发Servlet的过程中某些操作已经由MyEclipse自动完成,极大的方便了程序员开发程序。但当脱离集成开发工具时,对开发一个Servlet的基本流程也应有所了解。3.2.5开发Servlet基本流程开发一个Servlet程序基本包括以下几步:(1)编写Servlet引入用到的包,需要的导入的包有:javax.servlet.*,javax.servlet.http.*等定义类的基本框架并继承HttpServlet重写成员方法。如果需要对Servlet进行初始化,需要重写init方法。如果需要在卸载Servlet的时候执行一些功能,可以重写destory方法。一般情况下,根据需要完成的功能只需要重写服务类方法即可。服务类方法包括doGet方法和doPost方法等。3.2.5开发Servlet基本流程(2)编译Servlet在MyEcilpse中,.java文件会在保存后自动编译。若未安装MyEcilpse,则需要程序员手工编译Servlet。需要事先把位于%TOMCAT_HOME%\common\lib下的servlet-api.jar压缩包添加到环境变量中。使用JDK中的javac命令编译。3.2.5开发Servlet基本流程(3)配置ServletServlet编写完之后,作为Web应用的组成部分,需要在配置文件web.xml中进行配置。具体配置代码和3.2.4节列出的web.xml文件中的配置代码相同。3.2.5开发Servlet基本流程(4)部署ServletServlet编写完成之后,需要部署到服务器才能访问,编译好的文件需要放在Web应用的WEB-INF\classes下面。利用MyEclipse创建的Servlet,成功编译后其.class文件已自动放置到WEB-INF\classes目录下。3.2.5开发Servlet基本流程(5)测试Servlet测试方式和3.2.4节相同。访问Servlet时,要使用在web.xml中配置的url地址格式进行访问。3.3JSP基础本节主要介绍JSP的运行原理、基本语法。3.3.1JSP运行原理由于使用Servlet编写页面程序显得非常繁琐,因此,Sun公司后来在Servlet的基础上推出了JSP
本文标题:第3章 框架基础-Servlet与JSP技术回顾
链接地址:https://www.777doc.com/doc-6368576 .html