JavaWeb培训课件.ppt
《JavaWeb培训课件.ppt》由会员分享,可在线阅读,更多相关《JavaWeb培训课件.ppt(40页珍藏版)》请在三一办公上搜索。
1、Java Web 开发培训,Web编程概述-B/S,浏览器,浏览器与Web服务器的动态交互,提交按钮,点此Button将把FORM内的数据传送到服务器,各种输入控件,接受用户输入。,Method属性指定了数据传送方式,可以是GET或POST,GET方式将数据接在URL后面传送给服务器端程序,如:http:/url?name1=abc&name2=defPOST方式将数据放在HTTP请求的请求头后面发送。,Servlet简介,Servlet是java语言的CGI实现,与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性。
2、高效 传统的CGI程序以进程方式运行,而Servlet以线程方式运行。方便 Servlet提供了大量的实用工具例程,例如自动地解析和解码HTML表 单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。功能强大可以完成很多传统的CGI程序很难做到的事情。可移植性好Servlet API具有完善的标准。,Servlet基本结构,public class SomeServlet extends HttpServlet/必须继承自HttpServlet public void doGet(HttpServletRequest request,HttpServletResponse resp
3、onse)throws ServletException,IOException/使用“request”读取和请求有关的信息(比如Cookies)和表单数据/使用“response”指定HTTP应答状态代码和应答头(比如指定内容类型,设置Cookie)PrintWriter out=response.getWriter();/使用 out把应答内容发送到浏览器 public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException,Servlet
4、生命周期,服务器只创建每个Servlet的单一实例,每个用户请求都会引发新的线程。创建Servlet实例时,会调用init()方法,针对每个用户请求都会创建一个线程,该线程调用前面创建实例的service()方法,由service()方法依据接收到的HTTP请求的类型,调用相应的doXxx方法,比如doGet(),最后调用destroy()方法销毁。,Servlet工作原理,Web服务器,doGet()方法,doPost()方法,HTTP GET请求,HTTP POST请求,响应,响应,客户机,HttpServletRequest&HttpServletResponse,doGet 和 doP
5、ost 方法的参数都是 HttpServletRequest 和 HttpServletResponse 对象。其中HttpServletRequest 对象代表了客户端的请求,servlet 通过这个对象获得客户 端 的 请 求 数 据;HttpServletResponse对象代表了servlet对客户端请求的响应,sevlet用这个对象向客户端返回数据。,HttpServletRequest&HttpServletResponse,通过HttpServletRequest对象获取客户请求数据:getParameter()方法protected void doGet(HttpServlet
6、Request request,HttpServletResponse response)String str=request.getParameter(name);/参数为FORM内某输入控件的名字 通过HttpServletResponse对象向客户端返回数据protected void doGet(HttpServletRequest request,HttpServletResponse response)PrintWriter out=response.getWriter();/获取输出流对象 out.println();/通过输出流对象向客户端返回HTML文本,Servlet处理用
7、户请求简介,单个值的读取 request.getParameter(“Param1”);多个值的读取 request.getParameterValues();参数名的查找 request.getParameterNames();request.getParameterMap();原始表单数据的读取以及对上载文件的分析 request.getReader();request.getInputStream();多字符集输入的读取 request.setCharacterEncoding(“utf-8”);,Servlet设置响应报头,普通设置方法setHeader(String headerNa
8、me,String headerValue)HttpServletResponse提供的方法setDateHeader(String header,long milliseconds)setIntHeader(Stirng header,int headerValue)setContentType(String mimeType)setContentLength(int length),会话跟踪,HTTP是无状态协议,它没有提供内置方法来对一系列由相同用户发起的请求进行识别。客户程序每次读取Web页面,都打开到Web服务器的单独的连接,并且服务器也不自动维护客户的上下文信息。因此如果Web应用
9、程序如果想要为来自同一个用户的请求保留状态或数据的话(比如购物车程序,用户会在不同网页间切换来选购商品,因此要求Web应用程序必须要能记住一个用户选购的所有商品),这一般可以通过以下几个方法实现:CookieURL重写隐藏表单项目,解决HTTP无状态的方法,Cookie cookie是是一些由服务器发向浏览器并且还能由浏览器读回来的小段的文本信息。Web服务器将它发送到浏览器,之后在访问同一网站或域时,浏览器又将它原封不动的返回。一般用于记录用户名密码、根据用户的偏好定制站点、定向广告。cookie的内容主要包括:名字,值,过期时间,路径和域。-域可以指定某一个域比如。-路径就是跟在域名后面的
10、URL路径,比如/news。,解决HTTP无状态的方法,Cookie代码样例 Cookie userCookie=new Cookie(“uesr”,“uid1234”);userCookie.setMaxAge(60*60*24*265);/一年response.addCookie(userCookie);,解决HTTP无状态的方法,URL重写 利用URL重写技术,每个可能被用户点击的URL都会被动态修改,为URL附加上一个标志本次会话的ID。采用这种方式时,客户程序在每个URL的尾部添加一些额外数据,用来表示当前的会话,服务器将这个标识符与它存储的用户相关数据关联起来。比如:http:/u
11、rl/xxx?jsessionid=123,解决HTTP无状态的方法,隐藏的表单域所谓隐藏表单项目指的是HTML表单上不在客户端上显示的项目,它们在提交表单时也被送到服务器端。我们可以利用这一机制来维护会话信息。在提交表单时,要将指定的名称和值自动包括在GET和POST数据中,隐藏域可以用来存储有关会话的信息。缺点:仅当每个页面都是由表单提交而动态生成时,才能使用这种方法。,Servlet的会话管理,HttpSession API HttpSession API是一个基于Cookie和URL重写机制的高级会话状态跟踪接口:如果浏览器支持Cookie,则使用Cookie;如果浏览器不支持Cook
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaWeb 培训 课件

链接地址:https://www.31ppt.com/p-5027017.html