文档详情

JAVA_课程8_Servlet.ppt

发布:2018-05-13约1.18万字共46页下载文档
文本预览下载声明
ServletJSP基础培训讲义 PMPARK GZ Leading E-Business Integrator of CHN Guangzhou | Beijing | Shanghai | Dalian 2009-7-25 (8620)8363-3487 讲师:冯成日(Ray) 第2章 ServletJSP基础/ Ajax基础 2.1 Web编程概述-- B/S 浏览器与Web服务器的动态交互 GET方式将数据接在URL后面传送给服务器端程序,路径的最大长度是2048字节 如:http://url?name1=abcname2=def POST方式将数据放在HTTP请求的请求头后面发送。 2.2 Servlet简介 Servlet是java语言的CGI实现,与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性。 高效 传统的CGI程序以进程方式运行,而Servlet以线程方式运行。 方便 Servlet提供了大量的实用工具例程,例如自动地解析和解码HTML表 单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。 功能强大 可以完成很多传统的CGI程序很难做到的事情。 可移植性好 Servlet API具有完善的标准。 Servlet基本结构 import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SomeServlet extends HttpServlet { // 必须继承自HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { //使用“request”读取和请求有关的信息(比如Cookies)和表单数据 // 使用“response”指定HTTP应答状态代码和应答头(比如指定内容类型,设置Cookie) PrintWriter out = response.getWriter(); // 使用 out把应答内容发送到浏览器 } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { …… } } Servlet生命周期 服务器只创建每个Servlet的单一实例,每个用户请求都会引发新的线程。 创建Servlet实例时,会调用init()方法,针对每个用户请求都会创建一个线程,该线程调用前面创建实例的service()方法,由service()方法依据接收到的HTTP请求的类型,调用相应的doXxx方法,比如doGet(),最后调用destroy()方法销毁。 Servlet工作原理 HttpServletRequestHttpServletResponse doGet 和 doPost 方法的参数都是 HttpServletRequest 和 HttpServletResponse 对象。其中HttpServletRequest 对象代表了客户端的请求,servlet 通过这个对象获得客户 端 的 请 求 数 据; HttpServletResponse对象代表了servlet对客户端请求的响应,sevlet用这个对象向客户端返回数据。 HttpServletRequestHttpServletResponse ● 通过HttpServletRequest对象获取客户请求数据:getParameter()方法 protected void doGet(HttpServletRequest request, HttpServletResponse response) { String str = request.getParameter(“name”); // 参数为FORM内某输入控件的名字 } ● 通过HttpServletRes
显示全部
相似文档