Servlet编程技术

上传人:博****1 文档编号:568593839 上传时间:2024-07-25 格式:PPT 页数:15 大小:572KB
返回 下载 相关 举报
Servlet编程技术_第1页
第1页 / 共15页
Servlet编程技术_第2页
第2页 / 共15页
Servlet编程技术_第3页
第3页 / 共15页
Servlet编程技术_第4页
第4页 / 共15页
Servlet编程技术_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《Servlet编程技术》由会员分享,可在线阅读,更多相关《Servlet编程技术(15页珍藏版)》请在金锄头文库上搜索。

1、2008-2009-1第三章第三章Servlet山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎什么是 Servlet?请求请求 客户端客户端响应响应Servlet 运行于服务器上qServlet 是一个用是一个用 Java 编写的程序,此程序在服务器上编写的程序,此程序在服务器上运行以处理客户端请求运行以处理客户端请求2山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎HTTP Servlet 基础知识基础知识qHttpServlet 类提供一个抽象类以创建类提供一个抽象类以创建 HTTP Servletpublic void doGet(HttpServletRequest req,

2、HttpServletResponse res)doGet() 方法处理客户端作出的方法处理客户端作出的 GET 请求。请求。public void doPost(HttpServletRequest req,HttpServletResponse res)doPost() 方法处理客户端作出的方法处理客户端作出的 POST 请求。请求。3山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎javax.servlet 包 2-1ServletConfig 接口在初始化的过程中由 Servlet 容器使用ServletContext 接口定义 Servlet 用于获取来自其容器的信息的方法 Se

3、rvletRequest 接口 向服务器请求信息 ServletResponse 接口 响应客户端请求qjavax.servlet 包的接口为:4山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎Servlet 的生命周期 2-1qServlet 容器创建 Servlet 的一个实例qServlet 的生命周期就是指创建 Servlet 实例之后其存在的时间以及何时消失q生命周期的 3个方法为:init()service()destroy()5山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎Servlet 的生命周期 2-2q生命周期的各个阶段为:实例化实例化Servlet 容器创建容器

4、创建 Servlet 的实例的实例初始化初始化该容器调用该容器调用 init() 方法方法服服 务务如果请求如果请求 Servlet,则容器调用,则容器调用 service() 方法方法销毁实例之前调用销毁实例之前调用 destroy() 方法方法销销 毁毁不可用不可用销毁实例并标记为垃圾收集销毁实例并标记为垃圾收集6山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎javax.servlet.http 包HttpServletRequest 接口 提供 HTTP 请求信息HttpServletResponse 接口 提供 HTTP 响应q javax.servlet.http 包的接口为:

5、 7山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎简单 Servlet 的结构这是一个显示 HttpServletRequest 和 HttpServetResponse 接口一些方法的简单 Servlet演示:示例 1import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class ClientServlet extends HttpServlet protected void doGet(HttpServletRequest request, HttpServletResponse res

6、ponse) throws IOException, ServletException response.setContentType(“text/html;charset=utf8”); PrintWriter out= response.getWriter(); out.println(“ 您好!您好!”); 需要导入的包用于处理 GET 请求的方法创建设置文本格式和 PrintWriter 对象的方法以将数据发送给客户端8山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎Servlet 的部署 clientservlet chapter2.ClientServlet clientser

7、vlet /clientservlet web.xml文件中配置Servlet两个名称必须相同9山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎请求Servletq对对Servlet的访问与对的访问与对JSP的访问基本相同,可以的访问基本相同,可以通过以下通过以下3种方式进行:种方式进行:q通过在浏览器中直接输入地址访问通过在浏览器中直接输入地址访问http:/127.0.0.1:8080/test/helloq通过超链的形式访问通过超链的形式访问第第一个一个Servletq通过表单提交的方式访问通过表单提交的方式访问10山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎Servlet与

8、客户端的交互q通过request对象获取请求信息qString getParameter(String name)qString getParamterValues(String name)11山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎Servlet与客户端的交互q对session进行操作q获取session对象HttpSession session;session =request.getSession(true); q在session中存储信息 session.setAttribute(name,value);q从session中获取信息 session.getAttribute

9、(“name); q删除session中存储的信息 session.remove(“name”);q使session失效 session.invalidate() 12山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎Servlet与客户端的交互q通过通过response对象对用户进行响应对象对用户进行响应q设置响应内容的设置响应内容的MIME类型类型qresponse.setContentType(“text/html;charset=gb2312”)q创建输出流对象创建输出流对象qPrintWriter out = response.getWriter();q使用使用out对象响应用户对

10、象响应用户qout.println(这是通过这是通过Servlet响应用户的信息响应用户的信息)13山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎Servlet 通信方法 public void include (ServletRequest req, ServletResponse res);qServlet 访问网络资源以满足客户端请求qServlet 使用 RequestDispatcher 接口的 forward() 和include() 方法访问网络资源将请求从一个 Servlet 转送到同一个服务器上的另一个 Servlet public void forward (Serv

11、letRequest req, ServletResponse res);在一个 Servlet 中包含另一个 Servlet 的内容14山东农业大学计算机系费玉奎山东农业大学计算机系费玉奎Servlet 间通信 2-1q 以下示例演示 Servlet 间通信String uid=request.getParameter(txtuserid);response.setContentType(CONTENT_TYPE);PrintWriter out = response.getWriter();ServletContext context=getServletContext();context

12、.setAttribute(userid,uid);RequestDispatcher dispatcher=getServletContext().getRequestDispatcher(/usersServlet2);if(dispatcher=null) response.sendError(response.SC_NO_CONTENT);dispatcher.forward(request,response);out.close(); 演示:示例 9使用 getServletContext() 方法创建 RequestDispatcher 对象,用于访问另一个 Servlet 的内容15

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号