ImageVerifierCode 换一换
格式:PPT , 页数:29 ,大小:573.50KB ,
文档编号:5787091      下载积分:15 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-5787091.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(momomo)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(《Java Web应用开发》课件ch09.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

《Java Web应用开发》课件ch09.ppt

1、第第9章章 基于基于Servlet的的Web开发开发Servlet概述概述l由于由于JSP在被执行之前总是被翻译为在被执行之前总是被翻译为Servlet。lServlet是用是用Java Servlet API开发的一种开发的一种Java类。类。l这些这些API被包含在被包含在javax.Servlet和和javax.Servlet.http这两个包中这两个包中创建创建ServletServlet类名类名继承继承HttpServlet类类Servlet实例名实例名URL路径路径HttpServletl编写自己的编写自己的Servlet时,继承时,继承javax.servlet.http.Htt

2、pServlet类。类。lHttpServlet是抽象类,它的是抽象类,它的Http处理方处理方法只有定声明没有具体实现。法只有定声明没有具体实现。l开发开发Servlet类,一般需要重写类,一般需要重写doGet()或或doPost()方法。方法。一个简单的一个简单的Servletpublic class HelloServlet extends HttpServlet private static final String CONTENT_TYPE=text/html;charset=GBK;public void doGet(HttpServletRequest request,Http

3、ServletResponse response)throws ServletException,IOException public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException 实现实现doGet()方法方法/Process the HTTP Get requestpublic void doGet(HttpServletRequest request,HttpServletResponse response)throws Ser

4、vletException,IOException response.setContentType(CONTENT_TYPE);PrintWriter out=response.getWriter();out.println();out.println(HelloServlet);out.println();out.println(Hello,Servlet!);out.println();out.println();out.close();配置配置web.xml firstServlet servlet.HelloServlet firstServlet /hello 访问访问Servlet

5、地址栏:地址栏:http:/localhost:8080/web/hello 地址地址 端口端口 站点站点 路径路径l例:使用例:使用Servlet在页面上显示一个登录表在页面上显示一个登录表单单和一个链接和一个链接。l使该表单和链接的提交地址指向一个使该表单和链接的提交地址指向一个Servlet。Servlet生命周期生命周期public class HelloServlet extends HttpServlet private static final String CONTENT_TYPE=text/html;charset=GBK;/初始化初始化 public void init()

6、throws ServletException /对对Get方法请求响应服务方法请求响应服务 public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException /对对Post方法请求响应服务方法请求响应服务 public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException /销毁销毁 pu

7、blic void destroy()HttpServletRequest接口接口ljavax.servlet.http.HttpServletRequest接接口类型的对象对应口类型的对象对应JSP中的中的request内置对内置对象。象。l常用方法常用方法lpublic String getParameter(String param)lpublic String getParameterValues(String param)lpublic void setAttribute(String attname,Object o);lpublic Object getAttribute(Str

8、ing attname);HttpResponse接口接口ljavax.servlet.http.HttpResponse接口接口类型的对象对应类型的对象对应JSP中的中的response内置内置对象。对象。l常用方法常用方法lpublic void setContentType(String contentType);lpublic void sendRedirect(String url);JSP到到Servlet的转化的转化%int sum=0;for(int i=1;i 1到到100的连续和是:的连续和是:SumServletServletContext接口接口ljavax.servl

9、et.ServletContext接口类型的接口类型的对象对应对象对应JSP中的中的application内置对象。内置对象。l定义定义ServletContext app=this.getServletContext();l常用方法常用方法lpublic void setAttribute(String attname,Object o)lpublic Object getAttribute(String attname)ServletConfig接口接口ljavax.servlet.ServletConfig接口类型的对接口类型的对象对应象对应JSP中的中的config内置对象,用于在内置

10、对象,用于在Servlet初始化时向初始化时向Servlet传递一些信息。传递一些信息。l定义定义ServletConfig config=this.getServletConfig();l常用方法常用方法lpublic String getInitParameter(String paraname)WelcomeServlet会话管理会话管理ljavax.servlet.http.HttpSession接口类型的对象接口类型的对象对应对应JSP中的中的session内置对象。内置对象。l定义定义lHttpSession session=request.getSession();lHttpSe

11、ssion session=request.getSession(boolean value);l常用方法常用方法lpublic void setAttribute(String attname,Object o)lpublic Object getAttribute(String attname)LoginServlet会话管理会话管理public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException String uname=request

12、.getParameter(uname);String upass=request.getParameter(upass);User person=new User();person.setUname(uname);person.setUpass(upass);UserDAO userDAO=new UserDAOImpl();boolean flag=userDAO.isExist(person);if(flag)HttpSession session=request.getSession();session.setAttribute(users,person);response.sendR

13、edirect(index.jsp);else response.sendRedirect(error.jsp);HttpSession接口接口l维护维护session状态的方法:状态的方法:方法方法功能功能getCreationTime()返回第一个创建会话的时间返回第一个创建会话的时间 getLastAccessedTime()返回容器最后一次得到返回容器最后一次得到 有此会话有此会话ID的请求的时间(毫秒数)的请求的时间(毫秒数)setMaxInactiveInterval()对于此会话,指定客户请求的最大对于此会话,指定客户请求的最大间隔时间间隔时间 getMaxInactiveInt

14、erval()对应次会话,返回客户请求的最大对应次会话,返回客户请求的最大间隔时间(秒数)间隔时间(秒数)invalidate()结束会话。当前存储在这个会话中结束会话。当前存储在这个会话中的所有会话属性也会解除绑定的所有会话属性也会解除绑定 使使session失效的几种方法失效的几种方法l关闭浏览器关闭浏览器lsetMaxInactiveInterval()linvalidate()l在在web.xml中配置如下:中配置如下:5 定义定义session超时时间间隔,这里以分钟为单位超时时间间隔,这里以分钟为单位Servlet异常处理机制异常处理机制l程序式异常处理:程序式异常处理:try-c

15、atch-finallyl声明式异常处理声明式异常处理lHTTP错误代码的处理错误代码的处理 404 /fileNotFound.html lJava异常的处理异常的处理 java.io.FileNotFoundException /index.jsp Servlet的线程安全问题的线程安全问题/线程不安全访问计数线程不安全访问计数public class WelcomeServlet extends HttpServlet private Integer num;public void init()throws ServletException ServletConfig config=su

16、per.getServletConfig();num=Integer.parseInt(config.getInitParameter(count);public void doGet()ServletContext application=this.getServletContext();Integer n=(Integer)application.getAttribute(num);if(n=null)application.setAttribute(num,num);else application.setAttribute(num,n+1);out.print(application.

17、getAttribute(num);Servlet的线程安全问题的线程安全问题/线程安全访问计数线程安全访问计数public class WelcomeServlet extends HttpServlet private Integer num;public void init()throws ServletException ServletConfig config=super.getServletConfig();num=Integer.parseInt(config.getInitParameter(count);public synchronized void doGet()Serv

18、letContext application=this.getServletContext();Integer n=(Integer)application.getAttribute(num);if(n=null)application.setAttribute(num,num);else application.setAttribute(num,n+1);out.print(application.getAttribute(num);属性的线程安全属性的线程安全lServletContext对象:不是线程安全的对象:不是线程安全的lHttpSession对象:不是线程安全的对象:不是线程安全

19、的synchronized(session)lServletRequest对象:线程安全对象:线程安全过滤器过滤器l过滤器是一个程序,它先于与之相关的过滤器是一个程序,它先于与之相关的Servlet或或JSP页面运行在服务器上。过滤器可附加到页面运行在服务器上。过滤器可附加到一个或多个一个或多个Servlet或或JSP页面上,并且可以检页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择:器可以作如下的选择:l以常规的方式调用资源(即,调用以常规的方式调用资源(即,调用Servlet或或JSP页页面)。面)。l利用修改过的请求信息

20、调用资源。利用修改过的请求信息调用资源。l调用资源,但在发送响应到客户机前对其进行修改。调用资源,但在发送响应到客户机前对其进行修改。l阻止该资源调用,代之以转到其他的资源,返回一阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出。个特定的状态代码或生成替换输出。创建过滤器的步骤创建过滤器的步骤l建立一个实现建立一个实现javax.servlet.Filter接口的接口的类类 l在在doFilter方法中放入过滤行为方法中放入过滤行为 l调用调用FilterChain对象的对象的doFilter方法方法 l对相应的对相应的Servlet和和JSP页面注册过滤器页面注册过

21、滤器 过滤器应用实例过滤器应用实例解决请求数据中文乱码问题解决请求数据中文乱码问题 l建立一个实现建立一个实现Filter接口的类接口的类EncodingCharacterFilter:public class EncodingCharacterFilter implements Filter public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException request.setCharacterEncoding(

22、GB2312);chain.doFilter(request,response);过滤器应用实例过滤器应用实例解决请求数据中文乱码问题解决请求数据中文乱码问题l注册过滤器注册过滤器 EncodingCharacterFilter filter.EncodingCharacterFilter EncodingCharacterFilter /*过滤器应用实例过滤器应用实例身份验证问题身份验证问题 l建立一个实现建立一个实现Filter接口的类接口的类AuthorizationFilter:public class AuthorizationFilter implements Filter pub

23、lic void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException PrintWriter out=response.getWriter();HttpSession session=request.getSession(false);if(session=null)out.println(“请先登录请先登录”);/此处应页面跳转此处应页面跳转 else if(!session.getAttribute(“user”).get

24、Role().equals(“admin”)out.println(“不具备管理员权限不具备管理员权限”);/此处应页面跳转此处应页面跳转chain.doFilter(request,response);过滤器应用实例过滤器应用实例身份验证问题身份验证问题 l注册过滤器注册过滤器 AuthorizationFilter filter.AuthorizationFilter AuthorizationFilter /admin/*总结总结lServlet的工作原理的工作原理l了解了解Servlet的生命周期的生命周期l能够创建并运行能够创建并运行Servletl了解了解Servlet API中的类和接口中的类和接口l了解了解Servlet API如何处理请求并产生如何处理请求并产生响应响应l了解了解Servlet如何进行会话管理如何进行会话管理l了解了解Model I和和Model II 的不同的不同

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|