《SSH轻量级框架实践》课件-CORE-04_第1页
《SSH轻量级框架实践》课件-CORE-04_第2页
《SSH轻量级框架实践》课件-CORE-04_第3页
《SSH轻量级框架实践》课件-CORE-04_第4页
《SSH轻量级框架实践》课件-CORE-04_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章Servlet目标掌握Servlet的概念掌握Servlet在MVC中的作用掌握Servlet的doPost方法和doGet方法概述在使用MVC架构的Web应用中,控制器Controller一般使用Servlet来实现本章将介绍Servlet的概念,生命周期,以及如何编写Servlet程序Servlet介绍JavaServlet是与平台无关的服务器端组件,它运行在Servlet容器中Servlet容器负责Servlet和客户的通信以及调用Servlet的方法Servlet和客户的通信采用“请求/响应”模式Servlet介绍每一个JSP页面就是一个ServletJSP在执行时,Web服务器先要把JSP页面翻译成Java源代码,而这个源代码就是一个ServletServlet可以完成JSP的所有功能Servlet介绍Servlet在MVC中的工作方式接收客户的请求根据请求调用JavaBean进理将处理结果进行存储将控制转到JSP页面,让JSP客户显示处理结果Servlet介绍要实现Servlet程序,需要创建一个Servlet类,该类必须继承javax.servlet.http.HttpServlet以“显示客户列表”为例,处理客户请求的Servlet如下:Servlet中的几个常见方法init()方法:Servlet初始化destroy()方法:Servlet销毁时调用doGet()方法:处理Get请求doPost()方法:处理Post请求doGet()方法和doPost()方法中的参数HttpServletRequest对象包含请求信息HttpServletResponse对象包含响应信息Servlet介绍Servlet介绍publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{

Stringaction=request.getParameter("action");

//获取请求参数

StringjspPage="../admin/userinfo.jsp";if((action==null)||(action.length()<1)){action="default";}if("default".equals(action)){jspPage="../admin/userinfo.jsp";}elseif("displaylist".equals(action)){

Listuserinfos=UserinfoManager.getUserinfos();

//调用JavaBean的方法

request.setAttribute("userinfos",userinfos);

//在request范围存储数据

jspPage="../admin/userinfoDisplayList.jsp";}

RequestDispatcherrd=this.getServletContext().getRequestDispatcher(jspPage);

//指定转发路径

rd.forward(request,response);

//转发请求}Servlet分析在Servlet规范中,所有的Servlet必须实现java.servlet.Servlet接口java.servlet.Servlet接口方法:方法描述init初始化ServletdestroyServlet结束时调用getServletInfo得到有关Servlet的信息getServletConfig得到与Servlet实例相关联的javax.servlet.ServletConfig对象service容器调用这个方法向Servlet传递一个请求来进行处理。Servlet必须处理这个请求,并提供响应抽象类GenericServlet实现了Servlet接口在GenericServlet中service()方法被定义成抽象方法抽象类HttpServlet扩展了GenericServlet,覆盖了

Servlet方法

Servlet分析Servlet接口到用户Servlet的关系图Servlet分析作为HttpServlet的子类,用户类可以根据需要覆盖一些方法方法描述doGet处理HTTPGet请求doPost处理HTTPPost请求doPut处理HTTPPut请求(很少使用)doDelete处理HTTPDelete请求(很少使用)init和javax.servlet.Servlet接口init一致destroy和javax.servlet.Servlet接口destroy一致getServletInfo和javax.servlet.Servlet接口getServletInfo一致Servlet分析Servlet生命周期3个阶段:初始化阶段、响应客户请求阶段和终止阶段Servlet生命周期web.xml文件的内容由J2EE规

范描述。每个Web应用都需要

有这个文件Servlet在web.xml中的配置<web-app><servlet><description></description><display-name></display-name><servlet-name></servlet-name><servlet-class></servlet-class></servlet><servlet-mapping><servlet-name></servlet-name><url-pattern></url-pattern></servlet-mapping></web-app>Servlet在Web.Xml中的描述Servlet在Web.Xml中的描述Servlet声明<servlet><description>shoponlineuserinfoAction</description><display-name>shoponlineuserinfoAction</display-name><servlet-name>UserinfoAction</servlet-name><servlet-class>com.wish.shopOnline.servlets.UserinfoAction</servlet-class></servlet>Servlet在Web.Xml中的描述Servlet映射<servlet-mapping><servlet-name>UserinfoAction</servlet-name><url-pattern>/servlet/UserinfoAction</url-pattern></servlet-mapping>对UserinfoAction的URL请求示例:<ahref="servlet/UserinfoAction?action=displaylist">

显示客户列表</a>ServletRequest和ServletResponse当容器接收到请求后,会调用HttpServlet的service()方法service方法根据请求方式的不同调用doGet()或doPost()方法doGet()和doPost()方法有两个参数:HttpServletRequest和HttpServletResponse分别继承自ServletRequest和ServletResponseServletRequest和ServletResponseServletRequest接口中封装了客户请求信息客户请求方式请求参数名/值对客户端正在使用的协议发出客户请求的远程主机信息ServletRequest和ServletResponseServletRequest接口提供的部分方法方法描述getParameter根据给定的参数名返回参数值getAttribute根据参数给定的属性名返回属性值setAttribute在ServletRequest中设置属性(包括属性名和属性值)getInputStream返回客户请求数据的输入流(二进制流)getContentType返回客户请求数据MIME类型getRemoteAddr返回远程客户主机的IP地址getRemoteHost返回远程客户主机名getRemotePort返回远程客户主机的端口ServletRequest和ServletResponseServletResponse接口为Servlet提供了返回响应结果的方法方法描述getOutputStream返回可以向客户端发送二进制数据的ServletOutpuStream对象getWriter返回可以向客户端发送字符数据的PrintWriter对象setContentType设置响应数据的MIME类型getContentType返回响应数据的MIME类型setCharacterEncoding设置响应数据的字符编码getCharacterEncoding返回响应数据的字符编码ServletRequest和ServletResponse例如在UserinfoAction中,需要从客户请求中获取请求参数,使用方法如下:Stringaction=request.getParameter("action");JavaServlet是与平台无关的服务器端组件,它运行在Servlet容器中Servlet在MVC中的作用是接收客户的请求,根据请求调用JavaBean处理请求,然后把处理结果转发给JSP页面作为Servlet类必须实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论