




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Servlet 串讲材料 达内科技 项目部 李全峰 liqf 一一 ServletServletServlet Servlet 连接池配置编程和连接池配置编程和JNDIJNDIJNDI JNDI 机制机制 二二 用户信息跟踪对象跟踪过程用户信息跟踪对象跟踪过程 三三 两个页面跳转方法区别两个页面跳转方法区别 三三 ServletServletServlet Servlet 过滤器的管理与步骤过滤器的管理与步骤 四四 servletservletservlet servlet 监听器编程监听器编程 五五 MVC MVC MVC MVC 单表增删查改操作单表增删查改操作 总体大纲总体大纲 一一 ServletServletServlet Servlet 连接池配置编程和连接池配置编程和JNDIJNDIJNDI JNDI 机制机制 总体大纲总体大纲 1 1 1 1 解决问题 解决问题 1 1 1 1 每次请求都要重新打开数据库连接 每次请求都要重新打开数据库连接 再关闭 对系统开销大 再关闭 对系统开销大 2 2 2 2 我们自己管理连接关闭我们自己管理连接关闭 2 2 2 2 作用 提高连接数据库的效率作用 提高连接数据库的效率 3 3 3 3 原理 事先在内存中建立几个全局的连接对象 只连接原理 事先在内存中建立几个全局的连接对象 只连接 不关闭 当不关闭 当servletservletservlet servlet 应用连接数据库时 就直接拿过来应用连接数据库时 就直接拿过来 使用 使用完后关闭当前连接 连接池会自动对连接使用 使用完后关闭当前连接 连接池会自动对连接 状态管理 不断的对连接状态检查 当检测连接已关状态管理 不断的对连接状态检查 当检测连接已关 闭 连接池会在连接池中把此连接删除 当检测对象闭 连接池会在连接池中把此连接删除 当检测对象 超过连接池中设置的最大连接个数 就会创建新的连超过连接池中设置的最大连接个数 就会创建新的连 接对象 接对象 servletservletservlet servlet ServletServletServlet Servlet 4 4 4 4 服务器都会自带连接池 服务器都会自带连接池 配置数据源 通过配置数据源 通过JNDIJNDIJNDI JNDI 连接数据库连接数据库 JNDIJNDIJNDI JNDI javajavajava java 命名和目录接口命名和目录接口 作用是相当一个交换机 因为服务器在底层提供作用是相当一个交换机 因为服务器在底层提供 了了JNDIJNDIJNDI JNDI 的实现 我们只需要绑定一个数据源的的实现 我们只需要绑定一个数据源的 名字即可连接到数据库 名字即可连接到数据库 ServletServletServlet Servlet 二二 用户信息跟踪对象跟踪过程用户信息跟踪对象跟踪过程 总体大纲总体大纲 两个对用户跟踪的对象 两个对用户跟踪的对象 Cookie Cookie Cookie Cookie 和和 SessionSessionSession Session 1 cookie1 cookie1 cookie 1 cookie 作用 在客户端浏览器保存用户信息作用 在客户端浏览器保存用户信息 原理过程 当在浏览器中选择保存原理过程 当在浏览器中选择保存cookiecookiecookie cookie 时 则创建时 则创建 cookiecookiecookie cookie 对象 并对对象 并对cookiecookiecookie cookie 属性设置 保存在浏览器空属性设置 保存在浏览器空 间中 并把间中 并把cookiecookiecookie cookie 对象加到程序的对象加到程序的httphttphttp http 请求报头中 请求报头中 当浏览器再连接请求时 就会从当浏览器再连接请求时 就会从httphttphttp http 请求报头得到保存的请求报头得到保存的 cookiecookiecookie cookie 值 值 关键代码 关键代码 Cookie c new Cookie c new Cookie c new Cookie c new Cookie key valueCookie key valueCookie key value Cookie key value c setMaxAge 60 respones addCookie key c setMaxAge 60 respones addCookie key c setMaxAge 60 respones addCookie key c setMaxAge 60 respones addCookie key Cookie ck Cookie ck Cookie ck Cookie ck request getCookiesrequest getCookiesrequest getCookies request getCookies String key String key String key String key ck getNameck getNameck getName ck getName String value String value String value String value ck getValueck getValueck getValue ck getValue ServletServletServlet Servlet 2 Session2 Session2 Session 2 Session 作用作用 在服务器端对同一个客户信息跟踪在服务器端对同一个客户信息跟踪 原理过程 原理过程 1 1 1 1 访问当前请求会话用户信息 后台执行是访问当前请求会话用户信息 后台执行是 通过通过cookiecookiecookie cookie 得到当前会话得到当前会话id id id id 根据会话根据会话id id id id 找到相关联的找到相关联的 用户信息 找不到则会创建一个新会话 用户信息 找不到则会创建一个新会话 2 2 2 2 将用户信将用户信 息与会话关联起来 即将当前会话保存当前用户息与会话关联起来 即将当前会话保存当前用户3 3 3 3 会会 话结束销毁会话 话结束销毁会话 关键代码 关键代码 HttpSessionHttpSessionHttpSession HttpSession session session session session request getSessionrequest getSessionrequest getSession request getSession 或或 request getSession falserequest getSession falserequest getSession false request getSession false session setAttribute key valuesession setAttribute key valuesession setAttribute key value session setAttribute key value session getAttribute keysession getAttribute keysession getAttribute key session getAttribute key session invalidatesession invalidatesession invalidate session invalidate ServletServletServlet Servlet 三三 两个页面跳转方法区别两个页面跳转方法区别 总体大纲总体大纲 转发与重定向区别 转发与重定向区别 都是转到另一个都是转到另一个urlurlurl url 指定页面指定页面 但是内部执行不一样 但是内部执行不一样 ServletContext getRequestDispatcher urlServletContext getRequestDispatcher urlServletContext getRequestDispatcher url ServletContext getRequestDispatcher url RequestDispatcher forward request responseRequestDispatcher forward request responseRequestDispatcher forward request response RequestDispatcher forward request response 转发转发 HttpServletResponse sendRedirect urlHttpServletResponse sendRedirect urlHttpServletResponse sendRedirect url HttpServletResponse sendRedirect url 重定向重定向 1 1 1 1 转发 只能转到本转发 只能转到本WEBWEBWEB WEB 应用中的资源应用中的资源 重定向 如果重定向 如果 urlurlurl url 是绝对路径则可转到其它站点资源是绝对路径则可转到其它站点资源 2 2 2 2 在浏览器地址档上显示的在浏览器地址档上显示的urlurlurl url 也是不同的 转发 始终也是不同的 转发 始终 保持初始的保持初始的urlurlurl url 重定向 则会由初始的 重定向 则会由初始的urlurlurl url 变成重定向变成重定向 的目标的目标urlurlurl url ServletServletServlet Servlet 3 3 3 3 转发方法的调用者与被调用者之间共享相同的转发方法的调用者与被调用者之间共享相同的requestrequestrequest request 对象和对象和responseresponseresponse response 对象 它们属于同一个访问请求和响对象 它们属于同一个访问请求和响 应过程 而重定向方法调用者与被调用者使用各自的应过程 而重定向方法调用者与被调用者使用各自的 requestrequestrequest request 对象和对象和responseresponseresponse response 对象 它们属于两个独立的对象 它们属于两个独立的 访问请求和响应过程 访问请求和响应过程 对于同一个对于同一个WEBWEBWEB WEB 应用程序的内部资源之间的跳转 并要应用程序的内部资源之间的跳转 并要 使用使用HttpServletRequest setAttributeHttpServletRequest setAttributeHttpServletRequest setAttribute HttpServletRequest setAttribute 方法传递预处方法传递预处 理请求对象 那就应该使用转发 不同理请求对象 那就应该使用转发 不同WEBWEBWEB WEB 应用程序应用程序 之间的重定向 特别是要重定向到另外一个之间的重定向 特别是要重定向到另外一个WEBWEBWEB WEB 站点站点 上的资源的情况 则使用重定向上的资源的情况 则使用重定向 4 4 4 4 浏览器对请求作的响应不同 重定向 直接做出响应浏览器对请求作的响应不同 重定向 直接做出响应 让浏览器发出一个新的访问请求 转发 向服务器内部让浏览器发出一个新的访问请求 转发 向服务器内部 发送请求 服务器返回响应结果 但不知道怎么产生发送请求 服务器返回响应结果 但不知道怎么产生 ServletServletServlet Servlet 三三 ServletServletServlet Servlet 过滤器的管理与步骤过滤器的管理与步骤 总体大纲总体大纲 1 1 1 1 过滤器作用 对请求或响应起到辅助性作用 对满足过过滤器作用 对请求或响应起到辅助性作用 对满足过 滤条件的请求或响应没有任何影响 滤条件的请求或响应没有任何影响 2 2 2 2 过滤器的管理 通过虚拟路径来管理要过滤的页面过滤器的管理 通过虚拟路径来管理要过滤的页面 3 3 3 3 过滤器的编程步骤 过滤器的编程步骤 1 1 1 1 写过滤器的实现类 写过滤器的实现类 MyFilterMyFilterMyFilter MyFilter implements Filter implements Filter implements Filter implements Filter init init init init 初始化过滤器初始化过滤器 doFilter servletRequest servletResponse filterChaindoFilter servletRequest servletResponse filterChaindoFilter servletRequest servletResponse filterChain doFilter servletRequest servletResponse filterChain xxxxxxxxxxxxxxx xxxxx 写执行处理功能代码写执行处理功能代码 filterChain doFilter request responsefilterChain doFilter request responsefilterChain doFilter request response filterChain doFilter request response 处理转到下一个过滤器处理处理转到下一个过滤器处理 destroy destroy destroy destroy 销毁过滤器销毁过滤器 ServletServletServlet Servlet 2 2 2 2 在 在web xmlweb xmlweb xml web xml 中声明过滤器中声明过滤器 要加在最前面要加在最前面 xx xx xx xx xx xx xxxx xx xxxx xx xx xx xx xx xx xx xx xx pattern pattern pattern abcabcabc abc pattern pattern pattern request request request request forward forward forward forward 3 3 3 3 把过滤器部署在应用中 把过滤器部署在应用中 ServletServletServlet Servlet 四四 servletservletservlet servlet 监听器编程监听器编程 总体大纲总体大纲 1 1 1 1 监听器 针对服务器中内置对象触发事件后 对事件的监听器 针对服务器中内置对象触发事件后 对事件的 监听处理 多用于写日记 监听处理 多用于写日记 事件源事件源 request contextrequest contextrequest context request context 事件对象事件对象 ServletRequestEventServletRequestEventServletRequestEvent ServletRequestEvent ServletContextEventServletContextEventServletContextEv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论