当前位置: 首页 > news >正文

网站快照工具如何免费做网站网页

网站快照工具,如何免费做网站网页,餐饮营销型网站案例分析,我有网站 怎么做淘宝推广一、监听器Listener 1 Listener介绍 Listener 监听器它是 JavaWeb 的三大组件之一。JavaWeb 的三大组件分别是#xff1a;Servlet 程 序、Listener 监听器、Filter 过滤器 Listener 是 JavaEE 的规范#xff0c;就是接口 监听器的作用是#xff0c;监听某种变化(一般就是对…一、监听器Listener 1 Listener介绍 Listener 监听器它是 JavaWeb 的三大组件之一。JavaWeb 的三大组件分别是Servlet 程 序、Listener 监听器、Filter 过滤器 Listener 是 JavaEE 的规范就是接口 监听器的作用是监听某种变化(一般就是对象创建/销毁, 属性变化), 触发对应方法完成 相应的任务JavaWeb 中的监听器共八个, 目前最常用的是 ServletContextListener 2 ServletContextListener 监听器  2.1 作用  监听 ServletContext 创建或销毁 ( 当我们 Web 应用启动时 就会创建 ServletContext) 即生命周期监听应用场景 (1) 加载初始化的配置文件比如 spring 的配置文件 (2) 任务调 度配合定时器 Timer/TimerTask) 2.2 相关方法 2.3 应用实例  package com.hspedu.listener;import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener;public class HspServletContextListener implements ServletContextListener {/*1. 当一个类实现了ServletContextListener时该类就是一个监听器2. 该类可以监听的事件 由该类实现的监听接口决定3. 比如实现了ServletContextListener 则该类就可监听ServletContext对象的创建和销毁。以此类推4.HspServletContextListener就是一个监听者5.当web应用启动时就会产生一个ServletContextEvent的事件会调用监听器的对应事件处理方法6. contextInitialized同时会传递事件对象7. 程序员可以通过ServletContextEvent事件对象来获取需要的信息再进行业务处理8.tomcat怎么知道这个监听器的存在因为我们需要在web.xml配置*/Overridepublic void contextInitialized(ServletContextEvent servletContextEvent) {ServletContext servletContext servletContextEvent.getServletContext();System.out.println(监听到了servletContext被创建);}Overridepublic void contextDestroyed(ServletContextEvent servletContextEvent) {ServletContext servletContext servletContextEvent.getServletContext();System.out.println(监听到了servletContext被销毁);} }2.4 配置 web.xml 3 ServletContextAttributeListener 监听器  3.1 介绍  作用监听 ServletContext 属性变化 相关方法 3.2 案例 创建ServletContextAttributeListener package com.hspedu.listener;import javax.servlet.ServletContextAttributeEvent; import javax.servlet.ServletContextAttributeListener;public class MyServletContextAttributeListener implements ServletContextAttributeListener {Overridepublic void attributeAdded(ServletContextAttributeEvent servletContextAttributeEvent) {System.out.println(添加了 servletContext 属性名 servletContextAttributeEvent.getName() 属 性 值 servletContextAttributeEvent.getValue());}Overridepublic void attributeRemoved(ServletContextAttributeEvent servletContextAttributeEvent) {System.out.println(删除了 servletContext 属性名 servletContextAttributeEvent.getName() 属 性 值 servletContextAttributeEvent.getValue());}Overridepublic void attributeReplaced(ServletContextAttributeEvent servletContextAttributeEvent) {//拿到的属性是修改之前的System.out.println(替换了 servletContext 属性名 servletContextAttributeEvent.getName() 属 性 值 servletContextAttributeEvent.getValue());} }配置 web.xml 创建Servlet package com.hspedu.servlet;import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;public class HiServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//给ServletContext添加相关的属性ServletContext servletContext request.getServletContext();servletContext.setAttribute(name,linran);servletContext.setAttribute(name,lin);servletContext.removeAttribute(name);System.out.println(HoServlet 处理完毕);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);} }4 其它监听器 4.1 HttpSessionListener 监听器 作用监听 Session 创建或销毁即生命周期监听 相关方法 4.2 HttpSessionAttributeListener 监听器  作用监听 Session 属性的变化 相关方法 4.3 ServletRequestListener 监听器 作用监听 Request 属性变化 相关方法 4.4  ServletRequestListener 监听器 作用监听 Request 创建或销毁即 Request 生命周期监听 相关方法 可以用来监控, 某个 IP 访问我们网站的频率, 日志记录 ,访问资源的情况  二、过滤器 Filter  1 Filter 过滤器说明 1.1 为啥要过滤器 1.2 过滤器介绍  Filter 过滤器它是 JavaWeb 的三大组件之一(Servlet 程序、Listener 监听器、Filter 过滤器)Filter 过滤器是 JavaEE 的规范是接口 Filter 过滤器它的作用是拦截请求过滤响应。  1.3 应用场景  权限检查 日记操作  事务管理 2 Filter 过滤器基本原理 3 Filter 过滤器快速入门 3.1 需求 在 web 工程下有后台管理目录 manage 要求 该目录下所有资源 html 、图片、 jsp 、 Servlet 等用户登录后才能访问 3.2 login.jsp %--User: LinranDate: 2024/4/2Time: 16:44Version: 1.0To change this template use File | Settings | File Templates. --% % page contentTypetext/html;charsetUTF-8 languagejava % html headtitle管理后台登录/title /head bodyh1管理后台登录/h1form action%request.getContextPath()%/loginCheckServlet methodpostu:input typetext nameusernamebrbrp:input typepassword namepasswordbrbrinput typesubmit value用户登录/form/body /html3.3 LoginCLServlet package com.hspedu.servlet;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException;public class LoginCheckServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//获取用户名和密码//假设密码是123456就可以通过String usernamerequest.getParameter(username);String passwordrequest.getParameter(password);if(123456.equals(password)){//加入sessionHttpSession session request.getSession();session.setAttribute(username,username);session.setAttribute(password,password);request.getRequestDispatcher(/manage/admin.jsp).forward(request,response);}else {request.getRequestDispatcher(/login.jsp).forward(request,response);}}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);} }3.4 admin.jsp %--User: LinranDate: 2024/4/2Time: 16:48Version: 1.0To change this template use File | Settings | File Templates. --% % page contentTypetext/html;charsetUTF-8 languagejava % html headtitle后台管理/titlebase href%request.getContextPath()%/manage/ /head bodyh1后台管理/h1a href# 用户列表/a||a href#添加用户/a||a href#删除用户/ahr img src1.jpeg /body /html3.5 ManageFilter package com.hspedu.filter;import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.io.IOException;public class ManageFilter implements Filter {Overridepublic void init(FilterConfig filterConfig) throws ServletException {//当Tomcat 创建filter后会调用该方法进行初始化System.out.println(ManageFilter init 被调用.....);}Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {//当每次调用该filter时dofilter就会被调用System.out.println(ManageFilter doFilter 被调用);//如果这里没有调用继续请求的方法则停止在这//如果继续访问目标资源//在调用过滤器之前request对象已经被创建并封装//所以这里就可以通过servletRequest来获取很多信息比如访问的url\session\数据HttpServletRequest httpServletRequest ((HttpServletRequest) servletRequest);HttpSession session httpServletRequest.getSession();//获取username session对象Object username session.getAttribute(username);if(username!null){//用户登录过直接放行filterChain.doFilter(servletRequest,servletResponse);//继续访问目标资源//servletRequest,servletResponse会传递给目标资源//}else {servletRequest.getRequestDispatcher(/login.jsp).forward(servletRequest,servletResponse);}}Overridepublic void destroy() {//当filter被销毁时就会调用该方法System.out.println(ManageFilter destroy 被调用);} }3.6 web.xml ?xml version1.0 encodingUTF-8? web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0!--filter一般写在最前面1. 我们可以发现filter配置和servlet是十分相似的filter也是被tomcat管理和维护的2. url-pattern就是当请求的url和匹配的时候就会调用该filter‘3. /manage/* 第一个/解析成http://ip:port/工程路径4完整的路径就是http://ip:port/工程路径/manage/* 当请求的资源url满足该条件时都会调用filter--filterfilter-nameManageFilter/filter-namefilter-classcom.hspedu.filter.ManageFilter/filter-class/filterfilter-mappingfilter-nameManageFilter/filter-nameurl-pattern/manage/*/url-pattern/filter-mappingservletservlet-nameLoginCheckServlet/servlet-nameservlet-classcom.hspedu.servlet.LoginCheckServlet/servlet-class/servletservlet-mappingservlet-nameLoginCheckServlet/servlet-nameurl-pattern/loginCheckServlet/url-pattern/servlet-mapping/web-app 4 Filter 过滤器 url-pattern url-pattern : Filter 的拦截路径, 即浏览器在请求什么位置的资源时过滤器会进行拦截过滤 精确匹配 url-pattern/a.jsp/url-pattern 对应的 请求地址 http://ip[域名]:port/工程路径/a.jsp 会拦截 目录匹配 url-pattern/manage/*/url-pattern对应的 请求地址 http://ip[域名]:port/工程路径/manage/xx , 即 web 工程 manage 目录下所有资源 会拦截 后缀名匹配 url-pattern*.jsp/url-pattern 后缀名可变比如 *.action *.do 等等对应的请求地址 http://ip[域名]:port/工程路径/xx.jsp , 后缀名为 .jsp 请求会拦截Filter 过滤器它只关心请求的地址是否匹配不关心请求的资源是否存在 5 Filter 过滤器生命周期  6 FilterConfig  FilterConfig 是 Filter 过滤器的配置类 Tomcat 每次创建 Filter 的时候也会创建一个 FilterConfig 对象这里包含了 Filter 配置文件的配置信息。FilterConfig 对象作用是获取 filter 过滤器的配置内容 package com.hspedu.filter;import javax.servlet.*; import java.io.IOException; import java.util.Enumeration;public class FilterConfig_ implements Filter {/*演示FilterConfig的使用*/Overridepublic void init(FilterConfig filterConfig) throws ServletException {//通过filterConfig获取相关参数String filterName filterConfig.getFilterName();System.out.println(filterNamefilterName);String ip filterConfig.getInitParameter(ip);System.out.println(ipip);ServletContext servletContext filterConfig.getServletContext();System.out.println(servletContextservletContext);EnumerationString initParameterNames filterConfig.getInitParameterNames();while (initParameterNames.hasMoreElements()){System.out.println(名字 :initParameterNames.nextElement());}}Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {}Overridepublic void destroy() {} }web.xml 7 FilterChain 过滤器链  一句话 : FilterChain: 在处理某些复杂业务时一个过滤器不够可以设计多个过滤器 共同完成过滤任务形成过滤器链 7.1 AFilter package com.hspedu.filter;import javax.servlet.*; import java.io.IOException;public class AFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {System.out.println(AFilter doFilter()前置处理代码);chain.doFilter(req, resp);System.out.println(AFilter doFilter()后置处理代码);}public void init(FilterConfig config) throws ServletException {}}7.2 BFilter package com.hspedu.filter;import javax.servlet.*; import java.io.IOException;public class AFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {System.out.println(AFilter doFilter()前置处理代码);chain.doFilter(req, resp);System.out.println(AFilter doFilter()后置处理代码);}public void init(FilterConfig config) throws ServletException {}}7.3 hi.jsp %--User: LinranDate: 2024/4/2Time: 20:14Version: 1.0To change this template use File | Settings | File Templates. --% % page contentTypetext/html;charsetUTF-8 languagejava % html headtitlehi/title /head body h1admin 目录下的 hi.jsp/h1 h1后台管理/h1 a href#用户列表/a||a href#添加用户/a||a href#删除用户/a hr/ /body /html7.4 web.xml 8 FilterChain 注意事项和细节  多个 filter 和目标资源在一次 http 请求在同一个线程中当一个请求 url 和 filter 的 url-pattern 匹配时, 才会被执行, 如果有多个匹配上就会顺序执行形成一个 filter 调用链(底层可以使用一个数据结构搞定多个 filter 共同执行时,因为是一次 http 请求, 使用同一个 request 对象 多个 filter 执行顺序和 web.xml 配置顺序保持一致. chain.doFilter(req, resp)方法 将执行下一个过滤器的 doFilter 方法, 如果后面没有过滤器则执行目标资源。 小结注意执行过滤器链时, 顺序是(用前面的案例分析) Http请求 - A 过滤器 dofilter() - A 过滤器前置代码 - A 过滤器 chain.doFilter() - B 过滤器 dofilter() - B 过滤器前置代 码 - B过滤器 chain.doFilter() - 目标文件 - B过滤器后置代码 - A过滤器后置代码 - 返回给浏览器页面/数据
http://www.w-s-a.com/news/866351/

相关文章:

  • 建设网站是主营成本吗wordpress 后台
  • 猎头可以做单的网站企业网站建设
  • 建小程序需要网站吗在putty上怎样安装wordpress
  • 天津智能网站建设找哪家WordPress相册插件pro
  • 电脑网站页面怎么调大小济宁网站建设软件开发
  • 亿玛酷网站建设广州增城区最新消息
  • 企业网站视频栏目建设方案中企动力网站模板
  • 网站页面策划国外注册域名的网站
  • 百中搜如何做网站排名网站维护一年一般多少钱
  • 镇江地区做网站的公司wordpress说说加分类
  • 深圳高端网站设计免费的关键词优化软件
  • 视频网站公司沈阳网站建设服务
  • 网站全屏代码做网站必须用对方服务器
  • 网站速度慢wordpressssl正式申请后wordpress
  • 那个网站做玉石最专业西瓜创客少儿编程加盟
  • 备案时的网站建设方案书免费软件库
  • 惠州外贸网站建设网站模板 兼容ie8
  • 南京淄博网站建设方案php网站开发实训感想
  • 网站设计的含义只做恐怖片的网站
  • 网站改版方案ppt室内装修公司简介
  • 做色网站wordpress twenty ten
  • 马鞍山建设工程监督站建管处网站免费的海报模板网站
  • 类似百度的网站移动端的网站怎么做的
  • 网站开发需要什么文凭网站分析的优劣势
  • 海尔网站建设不足之处山东网站营销
  • 楚雄 网站建设广告设计一般人能学吗
  • 热搜榜排名前十山东seo多少钱
  • 衡水哪有建网站的吗企业信息系统英文
  • 有模板怎么建站wordpress媒体库图片路径
  • 怎么做网站h汉狮企业网站营销的实现方式