Servlet基础

上传人:ths****59 文档编号:57511123 上传时间:2018-10-22 格式:PPT 页数:29 大小:4.19MB
返回 下载 相关 举报
Servlet基础_第1页
第1页 / 共29页
Servlet基础_第2页
第2页 / 共29页
Servlet基础_第3页
第3页 / 共29页
Servlet基础_第4页
第4页 / 共29页
Servlet基础_第5页
第5页 / 共29页
点击查看更多>>
资源描述

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

1、Servlet基础,主讲:杨夏,理解Servlet的生命周期 会使用Servlet处理Get/Post请求 会使用Servlet处理页面的转向 会配置web.xml文件,本章目标,什么是Servlet(2-1),定义:Servlet 是一个 Java程序,是在服务器上运行以处理客户端请求并做出响应的程序,请求,响应,Servlet 运行于服务器端,什么是Servlet(2-2),初识Servlet,import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet ex

2、tends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(“text/html;charset=gb2312“);PrintWriter out = response.getWriter();out.println(“);out.println(“ Servlet“);out.println(“ “);out.println(“你好,欢迎来到Se

3、rvlet世界“);out.println(“ “);out.println(“);out.close(); ,继承HttpServlet类,Servlet输出HTML标签和内容,导入所 需的包,处理请 求的方法,将数据 发送给 客户端,如何创建Servlet,前台页面的创建 FORM表单的编写 后台Servlet的创建 使用Eclipse的Servlet向导创建Servlet代码模板 根据表单提交方法,确定接收方法 接收请求数据、处理数据、返回响应页面,FORM表单的method属性,FORM表单提交的方法 Get和Post,MyJspThis is my JSP page. ,MyJsp,

4、FORM的方法有哪些?,Get | Post,Get 与 Post有什么区别?,Get、Post提交数据与 Servlet有什么关系吗?,Servlet编程模式(3-1),Servlet编程基本模式 处理Get和Post请求,import java.io.IOException; import javax.servlet.*; import javax.servlet.http.*;public class HelloServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResp

5、onse response) throws ServletException, IOException /doGet方法体内容 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /doPost方法体内容 ,使用Get方法提交,触发doGet()方法,使用Post方法提交,触发doPost()方法,POST请求与GET请求的区别,POST请求数据在地址栏内不可见,相对比较安全。 POST请求提交的数据在理论上没有长度的限

6、制(GET请求的数据长度不能超过255个字符) GET请求将字符串添加到URL中,是页面可以被设置成书签或使用电子邮件发送,POST请求则不能。经验:在出于对数据安全性考虑,在没有明确要求用GET方法提交数据的时候,尽可能使用POST方法,这样做有两点好处:一是增加安全性,二是不用考虑数据容量的问题。,Servlet编程模式(3-2),Servlet编程基本模式 Servlet如何接收数据,import java.io.IOException; import javax.servlet.*; import javax.servlet.http.*; public class HelloServ

7、let extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException /doPost方法体内容 ,参数为表单元素名称,如果是使用Get方法提交数据,String user

8、Name = request.getParameter(“userName“); String userPass = request.getParameter(“userPass“);,/doGet方法体内容,如果是使用Post方法提交数据,doPost(request,response);,Servlet编程模式(3-3),Servlet编程的基本模式 根据结果,转向其他页面或资源,import java.io.IOException; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet

9、 extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException String userName=request.getParameter(“userName“); String userPass=request.getParameter(“userPass“); if (userName.equals( “accp“) ,使用response重定向到其他页面,与JSP相同,Servlet的生命

10、周期(2-1),Servlet的生命周期由Servlet容器(如:Tomcat)控制 容器如何处理请求,HTTP请求,容器,请求,响应,1,2,Servlet实例,Servlet,通过URL找到,执行,service(请求,响应),3,4,doGet(请求,响应),5,响应,6,Servlet的生命周期(2-2),生命周期的各个阶段,实例化,Servlet 容器创建 Servlet 的实例,初始化,该容器调用 init() 方法,服 务,如果请求 Servlet,则容器调用 service() 方法,销毁实例之前调用 destroy() 方法,销 毁,Servlet实例化,Servlet容器负

11、责加载和实例化Servlet。 当客户端发送一个请求时,Servlet容器就会查找内存中是否存在Servlet实例,如果不存在,就创建一个Servlet实例。如果存在,就直接从内存中取出该实例来响应请求。 Servlet容器是Web服务器或应用服务器的一部分,可以理解为GlassFish,Servlet初始化,Servlet容器加载好Servlet后,必须进行初始化。 初始化Servlet时,可以设置数据库连接参数,或者建立对其他资源的引用。,Servlet服务,Servlet被初始化后,就处于能响应请求的就绪状态。 当客户端发送一个请求时,Servlet容器将Servlet Request和

12、Servlet Response对象都转发给Servlet,这两个对象以参数的形式传给Service()方法。 在service()内,对客户端的请求方法进行判断,如果为GET方法提交,则调用doGet方法处理请求,否则,调用doPost方法。,Servlet销毁,Servlet实例是由Servlet容器创建,其销毁也是由容器来完成。 容器判断一个Servlet实例应当被释放时,容器就调用Destroy方法释放其正在使用的资源。,生命周期相关方法,public class HelloServlet extends HttpServlet public void init() throws Se

13、rvletException System.out.println(“初始化时第一次调用!“); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException PrintWriter out=response.getWriter(); out.println(“);out.println(“ HelloServlet“);out.println(“ “);out.println(“你好!ACCP “+new Date();out.p

14、rintln(“ “); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request,response); public void destroy() System.out.println(“释放资源!“); ,初始化方法,doGet()方法,doPost()方法,销毁方法,现场编程,请使用Servlet编写在页面显示“你好,雷锋!”的程序代码, public void doGet(HttpServl

15、etRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(“text/html;charset=GBK“); /设置中文PrintWriter out = response.getWriter(); /使用输出流,向客户端输出信息out.println(“);out.println(“HelloServlet“);out.println(“);out.println(“你好,雷锋!“);out.println(“);out.print

16、ln(“);out.flush();out.close(); ,常见错误,如果程序运行结果如下:,出现了乱码,什么原因呢?,public class HelloServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(“text/html;charSet=GBK“);/设定中文 PrintWriter out = response.getWriter(); /使用输出流,输出信息 ,设定中文的语句,哪里有错误吗?,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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