欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Javaweb开发中的servlet知识总结.docx

    • 资源ID:13056061       资源大小:41.23KB        全文页数:6页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Javaweb开发中的servlet知识总结.docx

    精品名师归纳总结Java web 开发中的 servlet 学问总结1. 恳求( request )响应( response)模式:用户在浏览器的的址栏中输入一个网址并回车,浏览器会向服务器发送一个 HTTP恳求,服务器端程序接受这个恳求,并对恳求做出处理,然后发出一个回应,浏览器收到这个回应,并把回应的内容显示出来,这就是web 应用程序的拜访过程。2. HTTP协议:浏览器单击链接是,会向服务器发送一段文本,告知服务器恳求的是那个网页,这段文本遵循 HTTP 协议格式,包含拜访方式, HTTP协议版本,所用的浏览器, 拜访的的址等。3. Servlet 概述: Java web 应用程序中全部的恳求与响应都是通过servlet 来完成的, servlet 是 java web 的核心程序,全部的网址最终都要交给servlet 来处理, servlet 没有 main 之类的执行方法, 当用户拜访服务器是, 服务器通过调用 servlet 的某些方法来处理整个过程。4. Servlet 的工作流程:浏览器提交的数据是遵循HttP 协议的文本,这段文本由服务器接受并解析,封装成httpservletrequest类型的 request 对象,全部的 http 头数据都可以通过 request 的相应方法得到。Tomcat 同时把输出流封装成HTTPServletresponse 类型的response,通过设置 response 的相关属性就可以掌握输出的内容,然后服务器将request和 response 作为参数,调用 servlet 的相应方法比如 doPost,doGet 等。5. Servlet 的作用:主要处理业务规律,比如读取数据库,权限检查,业务处理等。6. Servlet 接口: servlet 是一种实现了 javax.servlet.Servlet 接口的类, servlet 规定了特定的方法来处理特定的恳求,开发者只需要实现 servlet 的相应方法,用户拜访 web 程序的时候,服务器会调用这些方法来完成业务处理。7. 拜访方式: servlet 是建立在 HTTP 规范基础上的, HTTP1.1 支持 options ,get,post ,head , put,delete, 以及 trace 七种拜访方式,各方式的意义分别是:Get 表示查询信息, URL中可以附少量的参数信息,但是URL总长度不能超过 255 个字符,并且参数会显示在浏览器的的址栏。Post 表示提交信息 ,一般用于提交大数据信息或者文件,提交的内容不受长度限制, 并且不会显示在浏览器的的址栏。Options,put,delete,trace属于被声明白,但是没有被使用的web 拜访方式,现在的浏览器也很少用到这几种方式。8. Java web 目录结构: web 程序部署在 tomcat 下的 webapps 下面,一个 webapps 下可以部署多个 web 项目,依据 servlet 规范, web 程序自己有特定的结构,部署时必需安装这样的目录结构:文件夹描述/Web 应用根目录/WEB-INF/WEB-INF 文件夹, tomcat 会隐匿该文件夹下的全部文件和文件夹,爱护它们不能通过浏览器直接拜访。/WEB-INF/web.xmlWeb.xml,web 程序最主要的配置文件/WEB-INF/lib/Jar 文件放在该目录下9. servlet: servlet 是一个接口,此接口定义了初始化servlet 的方法,为恳求供应服务的方法和从服务器移除的方法,这些方法称为生命周期方法,它们是按以下次序调用的:构造 servlet,然后使用 init 方法将其初始化处理来自客户端对service的全部调用从服务器中取出 servlet,然后使用 destory 方法将其销毁,最终进行垃圾回收并终止它。10. servlet 的方法:可编辑资料 - - - 欢迎下载精品名师归纳总结(1) public void destory(2) public void initServletConfig config throws ServletException(3) public void serviceServletRequest req,ServletResponse resthrows ServletException,java.io.IOexception(4) public ServletConfig getServletConfig(5) public String getServletInfo 11编写 servlet:直接实现 servlet 接口来编写 servlet 很不便利,需要实现的方法太多,真正编写servlet 时直接实现 httpservlet ,并掩盖相应的方法即可,一般只需要掩盖doGet 或 doPost 方法。在myeclipse 中,可以之间新建一个servlet ,且默认已经完成配置。12. 恳求和相应:客户端浏览器发出一个恳求,服务器做出一系列操作后做出一个响应,发送给浏览器, 完成一次 web 过程操作, web 编程的过程就是分析客户需要什么信息或者做出什么操作,然后进行一系列的处理,然后通过相应结果显示给客户。(1) 猎取 request 的变量:客户端浏览器发出的恳求被封装成一个httpservletrequest对象,全部的信息包括恳求的方式,恳求的参数,恳求的的址,上传的文件,提交的数据,客户端Ip 的址甚至客户端操作系统信息都包含在其中。getContentLength返回恳求正文的长度(以字节为单位),并使输入流可以使用它,假如长度未知,就返回 1,对于 HTTP servlet,返回的值与 CGI变量 CONTENT_LENGTH的值相同。getContentType 返回恳求正文的 MIME 类型,假如该类型未知,就返回null 。对于 HTTP servlet,返回的值与 CGI 变量 CONTENT_TYPE的值相同。getLocalAddr 返回接收恳求的接口的 Internet Protocol IP的址。getLocalPort返回接收恳求的接口的 Internet Protocol IP端口号。getLocale 基于 Accept-Language头,返回客户端将用来接受内容的首选Locale 。假如客户端恳求没有供应 Accept-Language头,就此方法返回服务器的 默认语言环境getRemotePort 返回发送恳求的客户端或最终一个代理的Internet Protocol IP源端口。getMethod 返回用于发出此恳求的 HTTP 方法的名称,例如 GET、POST或 PUT。返回的值与 CGI 变量 REQUEST_METHO的D值相同。getProtocol 以 protocol/majorVersion.minorVersion 的形式(例如 HTTP/1.1 )返回恳求使用的协议的名称和版本。 对于 HTTPservlet ,返回的值与 CGI变量 SERVER_PROTOC的OL值相同。getQueryString返回包含在恳求 URL 中路径后面的查询字符串。假如URL 没有查询字符串,就此方法返回 null 。返回的值与 CGI 变量 QUERY_STRIN的G值相同。可编辑资料 - - - 欢迎下载精品名师归纳总结getRequestDispatcherString path返回一个 RequestDispatcher 对象,它充当位于给定路径上的资源的包装器。可以使用 RequestDispatcher对象将恳求转发给资源,或者在响应中包含资源。资源可以是动态的,也可以是静态的。指定的路径名可以是相对的,尽管它无法扩展到当前servlet上下文之外。假如该路径以 "/"开头,那么可以相对于当前上下文根说明它。如果 servlet容器无法返回 RequestDispatcher,就此方法将返回 null。getScheme返回用于发出此恳求的方案的名称,例如http、https或 ftp。不同方案具有不同的构造 URL 的规章,这一点已在 RFC 1738 中注明。(2) ) 猎取相应的变量:addCookie Cookie cookie将指定 cookie 添加到响应。 可多次调用此方法设置一个以上的cookie 。addDateHeaderString name, long date用给定名称和日期值添加响应头。该日期依据距历元时间的毫秒数指定。此方法答应响应头有多个值encodeRedirectURL String url对指定 URL 进行编码,以便在 sendRedirect方法中使用它,假如不需要编码,就返回未更换的 URL。此方法的实现包含可以确定会话ID 是否需要在 URL 中编码的规律。由于进行此确定的规章可能不同于用来确定是否对一般链接进行编码的规章,所以此方法与encodeURL 方法是分开的。encodeURLString url通过将会话 ID 包含在指定 URL中对该 URL进行编码,假如不需要编码, 就返回未更换的 URL。此方法的实现包含可以确定会话ID 是否需要在 URL 中编码的规律。例如,假如浏览器支持cookie ,或者关闭了会话跟踪, 就 URL 编码就不是必需的。sendError int sc, String msg throws java.io.IOException使用指定状态将错误响应发送到客户端。 默认情形下, 服务器将创建类似HTML格式的服务器错误页面的响应,该页面包含指定消息,内容类型设置为 "text/html",并且保持 cookie 和其他头不变。 假如已经对 Web应用程序进行了对应于传入状态代码的错误页面声明,就将优先处理建议的msg 参数。sendRedirect String location throws java.io.IOException使用指定重定向位置 URL 将暂时重定向响应发送到客户端。此方法可以接受相对 URL。servlet容器必需在将响应发送到客户端之前将相对URL 转换为肯定 URL。假如位置是相对的,没有前导'/',就容器将相对于当前恳求 URI 对其进行说明。假如位置是相对的,有一个前导'/',就容器将相对于 servlet容器根对其进行说明。假如已经提交了响应,就此方法抛出IllegalStateException。使用此方法后,响应应当被视为已经被提交,不能再写入。setHeader String name, String value用给定名称和值设置响应头。 假如已经设置了头, 就新值将重写以前的值。containsHeader方法可用于测试在设置其值之前头是否存在。可编辑资料 - - - 欢迎下载精品名师归纳总结setStatusint sc设置此响应的状态代码。 此方法用于设置没有错误时的返回状态代码 (例如状态代码 SC_OK或 SC_MOVED_TEMPORA)R。ILY假如有错误,并且调用者期望调用 Web应用程序中定义的错误页面, 就应改用 sendError方法。容器清除缓冲区,设置 Location头,并保留 cookie和其他头setCharacterEncodingString charset设置将发送到客户端的响应的字符编码MIME charset,例如,将它设置为 UTF-8 。假如已通过 #setContentType或 #setLocale 设置了字符编码, 就此方法将重写该字符编码。 用 text/html的 String调用 #setContentType 并用 UTF-8 的 String调用此方法等效于用 text/html; charset=UTF-8的 String调用 setContentType。getCharacterEncoding返回用于此响应中发送的正文的字符编码MIME charset名称。可能已使用 #setCharacterEncoding 或 #setContentType 方法显式指定字符编码,或使用#setLocale 方法隐式指 定它。显式指定优先于隐式指定。 在已调用 getWriter 之后或者在已提交响应之后调用这些方法不会对字符编码产生任何影响。 假如未指定字符编码,就返回 ISO-8859-1 。getContentType 返回用于此响应中发送的 MIME正文的内容类型。必需在提交响应之前已使用 #setContentType 指定适当的内容类型。假如未指定内容类型,就此方法返回null 。假如已指定内容类型, 并且已经如 #getCharacterEncoding 中所述显式或隐式指定了字符编码或者已调用#getWriter ,就返回的字符串中将包含charset参数。假如未指定字符编码,就省略 charset参数。getOutputStream throws java.io.IOException返回适用于在响应中编写二进制数据的ServletOutputStream 。servlet容器不会编码二进制数据。getWriter throws java.io.IOException返回可将字符文本发送到客户端的PrintWriter对象。 PrintWriter使用 #getCharacterEncoding 返回的字符编码。 假如未如 getCharacterEncoding 中所述指定响应的字符编码(即该方法只返回默认值ISO-8859-1 ),就getWriter会将字符编码更新到 ISO-8859-1 。对 PrintWriter调用 flush将提交响应。setContentLengthint len设置 HTTP servlet中响应的内容正文的长度,此方法设置HTTP Content-Length头。setContentType String type设置将发送到客户端的响应的内容类型, 假如该响应尚未提交。 给定内容类型可能包含字符编码规范,例如text/html;charset=UTF-8。假如在调用 getWriter之前调用此方法,就只依据给定内容类型设置响应的字符 编码。setBufferSizeint size设置响应正文的首选缓冲区大小。 servlet容器将使用至少与所恳求大小一样大的缓冲区。可使用 getBufferSize获得使用的实际缓冲区大小。getBufferSize可编辑资料 - - - 欢迎下载精品名师归纳总结返回用于该响应的实际缓冲区大小。 假如未使用任何缓冲, 就此方法返回0。flushBuffer throws java.io.IOException强行将缓冲区中的全部内容写入客户端。 调用此方法会自动提交响应, 这意味着将编写状态代码和头。resetBuffer清除响应中底层缓冲区的内容, 而不清除头或状态代码。 假如已提交响应, 就此方法将抛出 IllegalStateException。isCommitted 返回指示响应是否已提交的 boolean 值。已提交的响应已将其状态代码和头编写好。(3) ) 提交表单信息: Web 程序的任务就是实现服务器与客户端浏览器之间的信息交互,客户端提交的信息可能来自表单里的文本框,密码框,挑选框,单项按钮,复选框以及文本域,这些表单信息以参数的形式提交到了服务器, servlet 的任务就是精确的猎取这些信息,并依据信息输出不同的响应。提交信息的方式包括 Get 和 Post,分别触发 servlet 的 doGet 和 doPost 方法, 一般而言, get 用于从服务器猎取信息(通过提交的参数指定要猎取的内容) , post 用于向服务器提交信息, post 提交数据又包括两种形式,一般内容提交和带文件上传的提交。Post 提交个人信息:由于 get 方式存在各种限制,所以提交表单时挑选用 post 方式, 把 HTML 中 Form 的 method 属性设置成 post ,浏览器即以 post 方式提交数据。客户端上传文件:除了提交表单,上传文件也是很常见的客户端与 web 程序交互的操作,电子相册,网络硬盘,邮件附件,视频网站都采纳 web 文件上传的形式,相对于 ftp 文件上传, web 文件上传速度要慢一些,但是使用便利,不需要客户端,只需要一个浏览器即可,而且权限也比 FTP简单掌握, web 文件上传也采纳 Post 方式,但上传文件需要将 form 的 enctype 属性设置为multipart/form-data, 由于上传的文件可能会比较大, 因此需要设置该参数指定浏览器使用二进制上传。13. Servlet 的生命周期:每个servlet 都有自己的生命周期,servlet 的生命周期由 Web服务器来爱护, servlet 的生命周期遵循 servlet 规范。Servlet 会在服务器启动或第一次恳求该servlet 时开头 servlet 生命周期,在服务器 终止的时候终止生命周期,无论恳求多少次 servlet ,最多只有一个 servlet 实例, 多个客户端并发恳求servlet 时,服务器会启动多个线程分别执行servlet 的 servlce 方法。14. servlet 之间的跳转: servlet 之间可以相互跳转, 从一个 servlet 程序跳向另一个 servlet程序, 利用 servlet 的跳转很简单把一项任务按模块分开, 实现程序模块化。跳转有两种方法:恳求转发和恳求重定向(1) 恳求转发是通过requestDispatcher 对象的 forward (httpservletrequest req , httpservletresponse res )方法来实现的,requestDispatcher 可以通过gethttpservletresponse 来得到 ,gethttpservletresponse方法的参数必需以 “ / ”开头。当使用 forward 形式跳转 servlet 时,的址栏会显示跳转前的servlet 的址, 由于该跳转是在服务器端实现的,客户端浏览器并不知道该动作,也就是说该动作对浏览器来说是透亮的。可编辑资料 - - - 欢迎下载精品名师归纳总结(2) 重定向( Redirect)重定向是利用服务器返回的状态码实现的,客户点浏览器拜访服务器的时候,服务器端会返回一个状态码, 服务器端会通过 HTTPservletresponse 的 setstatusint status方法设置状态码,状态码的代表意义:响应状态代码 是一个 3 位整数,以 1、2、3、4 或 5 开头。1xx ::信息提示,表示暂时的响应2xx :响应胜利,表示服务器胜利的接收了客户端恳求3xx :重定向4xx :客户端错误,说明客户端可能有问题5xx :服务器错误是,说明服务器由于遇到某种错误而不能响应客户端恳求。HTTPservletresponse 把 setStatus 和 setHeader 方法封装成一个 sendRedirect 方法, 只需要调用这个方法即可实现跳转,当使用这个方法实现跳转时,跳转是在客户端 实现的,也就是说客户端浏览器实际上恳求了两次服务器,第一次猎取了servlet 的状态码和重定向的的址,其次次拜访真实的址。可编辑资料 - - - 欢迎下载

    注意事项

    本文(Javaweb开发中的servlet知识总结.docx)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开