版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Servlet简介
主要内容HTTP基础知识Servlet简介和优点第一个Servlet例程Servlet的体系结构Servlet的生命周期简介Web应用的交互如图所示。HTTP请求头信息
客户端发送的请求消息为字符流,由请求行(包括方法、统一资源标识符URI和HTTP协议版本)和头信息组成。下面是一个合法的HTTP请求消息的例子。我们通过这个例子来大概了解一下HTTP请求消息。
GET/ntctest/page/jsp02/easy.jspHTTP/1.1Host:localhost:8080User-Agent:Mozilla/5.0(Windows;U;WindowsNT6.0;zh-CN;rv:1)Accept:text/html,application/xhtml+xml,application/xml,*/*Accept-Language:zh-cnAccept-Charset:gb2312,utf-8请求行指定了用GET方法,访问一个名为/ntctest/page/jsp02/easy.jsp的资源,并指定请求使用HTTP/1.1协议版本。Host首部可以像服务器通知URL中所用的主机名User-Agent首部包含了发出请求的浏览器的类型相关信息。服务器可以使用此信息向不同类型的浏览器发送不同类型的响应。Accept首部提供了浏览器所接受语言和文件格式的有关信息。这些首部可以用于针对浏览器的功能和用户的首选项(如使用某种所支持的图像格式和首选语言)对响应加以调整。HTTP请求头信息
HTTP响应头信息
HTTP/1.x200OKServer:Apache-Coyote/1.1Content-Type:text/htmlContent-Length:186Date:Wed,17Jun200900:57:35GMTServer头部指定服务器软件。Content-Type头部指定了文档的MIME类型,如果是“text/html”指示格式化的Web文档,如果是“text/plain”只是未格式化的文本文档。Content-length头部指定文件的大小,以字节来表示。GET和POST方法区别础知识下面我们来对比一下GET和POST方法。在客户端,GET通过URL提交数据,数据在URL中可见;POST把数据放在form的数据体内提交。GET提交的数据最多只有1024字节;POST提交的数据量无限制。由于使用GET时,参数会显示在地址栏上,而POST不会,所以,如果这些数据是非敏感数据,那么使用GET;如果包含敏感数据,为了安全,用POSTServlet简介Servlet是一个Java程序,运行在服务器上以处理客户端请求并做出响应的程序Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面Servlet是位于Web服务器端的Servlet容器内部的Java应用程序,像所有的Java程序一样,Servlet拥有面向对象Java语言的所有优势Servlet是Java语言在Web应用层次上的延申,属于Java的企业级应用定义:Servlet是一个Java程序,是在服务器上运行以处理客户端请求并做出响应的程序请求响应Servlet运行于服务器端Servlet简介第一个Servlet例程
packagecom.ntc.sample.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;/***HelloWorldServlet.*@authorNTC*/public
classFirstServletextendsHttpServlet{/**serialVersionUID.*/
private
static
final
long
serialVersionUID=2372510451801586160L;第一个Servlet例程
protected
voiddoGet(HttpServletRequestreq,HttpServletResponseresp)
throwsServletException,IOException{//设定内容类型为HTML网页UTF-8编码
resp.setContentType("text/html;charset=UTF-8");//输出页面
PrintWriterout=resp.getWriter();out.println("<html><head>");out.println("<title>FirstServletHello</title>");out.println("</head><body>");out.println("Hello!大家好!");out.println("</body></html>");out.close();}}第一个Servlet例程代码写好后,我们来设定web.xml文件,web.xml文件在我们Web项目的WEB-INF文件夹内。其中的Servlet定义部分如图所示。对象outout对象用于向客户端输出数据out对象常用方法:print():在页面中打印出字符串信息response.setContentType("text/html");PrintWriterout=response.getWriter();out.println("<!DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">");out.println("<HTML>");out.println("<HEAD><TITLE>AServlet</TITLE></HEAD>");out.println("<BODY>");out.print("Thisis");out.print(this.getClass());out.println(",usingthePOSTmethod");out.println("</BODY>");out.println("</HTML>");out.flush();out.close();对象requestrequest对象主要用于处理客户端请求JSP,Servlet页面request对象客户端请求请求信息对象requestrequest对象常用方法方法名称说明StringgetParameter(Stringname)根据页面表单组件名称获取页面提交数据String[]getParameterValues(Stringname)获取一个页面表单组件对应多个值时的用户的请求数据voidsetCharacterEncoding(Stringcharset)指定每个请求的编码在调用request.getParameter()之前进行设定,可以解决中文乱码问题request.getRequestDispatcher(Stringpath)返回一个javax.servlet.RequestDispatcher对象,该对象的forward方法用于转发请求对象request<formname="form1"method="post"action="reginfo.jsp"><tableborder="0"align="center"><tr><td>用户名</td><td><inputtype="text"name="name"></td></tr><tr><td>密码</td><td><inputtype="password"name="pwd"></td></tr><tr><td>你从哪里知道ACCP</td><td><inputtype="checkbox"name="channel"value="报刊">报刊
<inputtype="checkbox"name="channel"value="网络">网络
<inputtype="checkbox"name="channel"value="朋友推荐">朋友推荐
<inputtype="checkbox"name="channel"value="电视">电视
</td></tr><!--以下是提交、取消按钮--></table></form>对象requestString[]channels=request.getParameterValues("channel");if(channels!=null){for(inti=0;i<channels.length;i++){out.println(channels[i]);}}request.setCharacterEncoding("GBK");request.getParameter(“name”);request.getParameter("pwd");对象responseresponse对象用于响应客户请求并向客户端输出信息response对象常用方法voidsendRedirect(Stringlocation):将请求重新定位到一个不同的URLJSP/Servlet页面response对象客户端响应从服务器中检索的信息存储信息,以在响应客户端请求时发送此信息在首页面(input.jsp)上输入用户名、密码,提交至input2.jsp进行处理如果输入的用户名、密码都是sa,跳转至欢迎页面(welcome.jsp)<formname="form1"method=postaction="input2.jsp">用户名:<inputtype="text"name="userName">密码:<inputtype=“password"name="pwd"><inputtype="submit"value="登录"><form>input.jsp客户端重新建立链接<%request.setCharacterEncoding("GBK");Stringname=request.getParameter("userName");Stringpwd=request.getParameter("pwd");if(name.equals("sa")&&pwd.equals("sa")) response.sendRedirect("welcome.jsp");%>跳转至欢迎页面input2.jsp对象responseServlet的体系结构Servlet应用程序体系结构
图说明客户端对Servlet的请求首先会被HTTP服务器接收,HTTP服务器将客户的HTTP请求提交Servlet容器,Servlet容器调用相应的Servlet,Servlet作出的响应传递到Servlet容器,并进而由HTTP服务器将响应传输给客户端。Web服务器提供静态内容并将所有客户端对Servlet作出的请求传递到Servlet容器。Servlet层次结构
Servlet是实现javax.servlet.Servlet接口的对象。大多数Servlet通过从GenericServlet或HttpServlet类进行扩展来实现。ServletAPI包含于两个包中,即javax.servlet和javax.servlet.httpServlet的体系结构Servl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广告公司高空作业安全协议
- 工程承包合同简单版的合同范本2篇
- 户外广告牌维修合同范本
- 二零二四年度版权质押许可合同~仅供于参考3篇
- 2024年度范香网络销售合作协议2篇
- 简单的电梯维修合同范本
- 云计算平台建设与运营合同
- 2024年度定金支付二手房交易合同3篇
- 制式合同下载
- 5R-Platyphyllone-生命科学试剂-MCE
- 2024CPA合作合同模板
- 第4课 用联系的观点看问题-【中职专用】2024年中职思想政治《哲学与人生》金牌课件(高教版2023·基础模块)
- 客户关系管理系统合同
- 人音版音乐三年级上册《演唱 妈妈的心》说课稿2
- 呼伦贝尔事业单位笔试真题及答案2024
- 线下签约合同范本
- 【长安的荔枝中李善德的人物形象分析7800字(论文)】
- 新项目方法验证能力确认报告(固定污染源废气-烟气参数的测定HJT-397-2007)
- 离世老人生平简介范文
- 2024年维修合同模板
- 小学数学学生分析报告
评论
0/150
提交评论