- 浏览: 65162 次
- 性别:
- 来自: 常州
-
最新评论
jsp程序设计(三)-初试jsp程序设计(2)-Servlet简介
一、什么是Servlet
Servlet 是一个用 Java 编写的程序,此程序在服务器上运行以处理客户端请求。
二、接口和类
1、javax.servlet 包中的接口
2、javax.servlet 包中的类 ServletInputStream 类 用于从客户端读取二进制数据; ServletOutputStream 类 用于将二进制数据发送到客户端;
HttpServletResponse 接口 提供 HTTP 响应;
三、Servlet 的生命周期
Servlet 的生命周期就是指创建 Servlet 实例之后其存在的时间以及何时消失;
1、生命周期的 3个方法为: <shape id="_x0000_s1026" style="MARGIN-TOP: 7.8pt; Z-INDEX: 1; LEFT: 0px; MARGIN-LEFT: 0px; WIDTH: 81pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left; mso-wrap-style: none; mso-position-horizontal: absolute; mso-position-vertical: absolute; v-text-anchor: middle" strokeweight="1.25pt" strokecolor="#036" fillcolor="#3cf" type="#_x0000_t176"><fill type="gradientRadial" focussize="" focusposition=".5,.5"></fill><shadow opacity=".5" offset2=",2pt" offset=",3pt" on="t"></shadow><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr>
<td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
<div>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-layout-grid-align: none" align="center"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 20.0pt; mso-fareast-font-family: 黑体; mso-bidi-font-family: 'Times New Roman'">init()<p></p></span></strong></p>
</div>
</td>
</tr></tbody></table></textbox></shape><shape id="_x0000_s1028" style="MARGIN-TOP: 7.8pt; Z-INDEX: 3; LEFT: 0px; MARGIN-LEFT: 252pt; WIDTH: 81pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left; mso-wrap-style: none; mso-position-horizontal: absolute; mso-position-vertical: absolute; v-text-anchor: middle" strokeweight="1.25pt" strokecolor="#036" fillcolor="#3cf" type="#_x0000_t176"><fill type="gradientRadial" focussize="" focusposition=".5,.5"></fill><shadow opacity=".5" offset2=",2pt" offset=",3pt" on="t"></shadow><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr>
<td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
<div>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-layout-grid-align: none" align="center"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 20.0pt; mso-fareast-font-family: 黑体; mso-bidi-font-family: 'Times New Roman'">destroy()<p></p></span></strong></p>
</div>
</td>
</tr></tbody></table></textbox></shape><shape id="_x0000_s1027" style="MARGIN-TOP: 7.8pt; Z-INDEX: 2; LEFT: 0px; MARGIN-LEFT: 126pt; WIDTH: 81pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left; mso-wrap-style: none; mso-position-horizontal: absolute; mso-position-vertical: absolute; v-text-anchor: middle" strokeweight="1.25pt" strokecolor="#036" fillcolor="#3cf" type="#_x0000_t176"><fill type="gradientRadial" focussize="" focusposition=".5,.5"></fill><shadow opacity=".5" offset2=",2pt" offset=",3pt" on="t"></shadow><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr>
<td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
<div>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-layout-grid-align: none" align="center"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 20.0pt; mso-fareast-font-family: 黑体; mso-bidi-font-family: 'Times New Roman'">service()<p></p></span></strong></p>
</div>
</td>
</tr></tbody></table></textbox></shape> <stroke endarrow="block"></stroke><stroke endarrow="block"></stroke>
2、生命周期的各个阶段为: 实例化 Servlet 容器创建 Servlet 的实例
初始化 该容器调用 init() 方法
服 务 如果请求 Servlet,则容器调用 service() 方法
销 毁 销毁实例之前调用 destroy() 方法
不可用 销毁实例并标记为垃圾收集
四、HTTP Servlet 基础知识:
public void doGet(HttpServletRequest req,HttpServletResponse res) public void doPost(HttpServletRequest req,HttpServletResponse res) doGet() 方法处理客户端作出的 GET 请求。doPost() 方法处理客户端作出的 POST 请求。
五、Servlet 的部署
web.xml文件中配置Servlet:
<fill type="gradient" focus="100%"></fill><lock grouping="t" v:ext="edit"></lock><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr>
<td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
<div>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -27pt; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 19.0pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"><span style="mso-spacerun: yes"> </span><servlet><p></p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -27pt; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 19.0pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"><span style="mso-spacerun: yes"> </span><servlet-name>clientservlet</servlet-name><p></p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -27pt; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 19.0pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"><span style="mso-spacerun: yes"> </span><servlet-class>chapter2.ClientServlet</servlet-class><p></p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -27pt; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 19.0pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"><span style="mso-spacerun: yes"> </span></servlet><p></p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -27pt; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 19.0pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"><span style="mso-spacerun: yes"> </span><servlet-mapping><p></p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -27pt; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 19.0pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"><span style="mso-spacerun: yes"> </span><servlet-name>clientservlet</servlet-name><p></p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -27pt; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 19.0pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"><span style="mso-spacerun: yes"> </span><url-pattern>/clientservlet</url-pattern></span><span lang="EN-US" style="FONT-SIZE: 19pt; COLOR: black; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"><p></p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -27pt; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 19.0pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"><span style="mso-spacerun: yes"> </span></servlet-mapping><p></p></span></p>
</div>
</td>
</tr></tbody></table></textbox><shapetype id="_x0000_t202" path="m0,0l0,21600,21600,21600,21600,0xe" o:spt="202" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><path o:connecttype="rect" gradientshapeok="t"></path></shapetype><shape id="_x0000_s1034" style="MARGIN-TOP: 60pt; Z-INDEX: 9; MARGIN-LEFT: 162pt; WIDTH: 96.35pt; POSITION: absolute; HEIGHT: 23.4pt; mso-wrap-style: none; mso-position-horizontal: absolute; mso-position-vertical: absolute; v-text-anchor: top-baseline" strokeweight="1.25pt" fillcolor="#fc0" type="#_x0000_t202"><fill type="gradient" focus="100%"></fill><shadow opacity=".5" offset2="2pt,2pt" offset="3pt,3pt" on="t"></shadow><textbox style="mso-fit-shape-to-text: t"><table style="WIDTH: 128px; HEIGHT: 21px" cellspacing="0" cellpadding="0" width="128"><tbody><tr>
<td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
<div>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 18.0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">两个名称必须相同</span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 18.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: ZH-CN"><p></p></span></p>
</div>
</td>
</tr></tbody></table></textbox></shape><stroke endarrow="block"></stroke>
HttpServlet 类提供一个抽象类以创建 HTTP Servlet,实现其两个方法:
3、javax.servlet.http 包的接口
HttpServletRequest 接口 提供 HTTP 请求信息;
ServletConfig 接口在初始化的过程中由 Servlet 容器使用;
ServletContext 接口定义 Servlet 用于获取来自其容器的信息的方法;
ServletRequest 接口 向服务器请求信息;
ServletResponse 接口 响应客户端请求;
相关推荐
Servlet可以看作是服务器端的程序。 - **关系**:JSP本质上是在Servlet容器中运行的一种特殊类型的Servlet。当用户请求一个JSP页面时,服务器会将该页面转换成Servlet,然后执行它。 #### 3. 模式匹配 - **正则...
在IT行业中,EasyJWeb是一个轻量级的Java Web应用框架,主要用来简化Web应用程序的开发。本示例将引导我们逐步了解如何使用EasyJWeb创建一个简单的"Say Hello"应用,这通常是我们初次接触任何Web框架时都会做的经典...
`sentences.jsp`可能有一个文本框让用户输入消息,点击发送按钮后,通过AJAX异步请求将消息发送到服务器(可能是一个Servlet或Filter)。服务器接收到消息后,存储到数据库,并广播给在线的所有用户。为了实现实时...
搭建JSP服务器端环境通常涉及J2SDK(Java 2 Standard Edition)和Web服务器的组合,如Tomcat、Apache或IIS。在JDK环境变量配置中,Path和CLASSPATH是必须设置的。 动态网页与静态网页的主要区别在于,动态网页的...
2. **标签处理类(Tag Handler Class)**:每个自定义标签对应一个Java类,这个类实现了`javax.servlet.jsp.tagext.Tag`接口或其子接口,负责处理标签的生命周期方法,如`doStartTag()`、`doEndTag()`等。...
在这个系统中,Java可能被用于实现用户界面,如输入、查询和显示招生信息等操作,通过Servlet或JSP(Java Server Pages)与后台数据库进行交互。 Oracle数据库是全球广泛使用的大型关系型数据库管理系统,它提供了...
4. **Java试题(3).doc、Java试题(4).doc** - 这两份文档可能是不同批次或主题的Java题目,可能包含更多的高级概念,如JDBC、Servlet、JSP、JavaFX或者Java EE相关知识。 5. **JAVA培训资料.doc** - 可能包含了Java...