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

承德专业做网站重庆有哪些好玩的

承德专业做网站,重庆有哪些好玩的,电商网站平台搭建,上海人才市场目录1. filter过滤器1.1 原理1.2 配置1.3 过滤掉脏话demo2. listener监听器2.1 作用2.2 ServletContextListener demo1. filter过滤器 作用:过滤servlet#xff0c;jsp#xff0c;js#xff0c;css#xff0c;图片对象#xff0c;以及一切在服务器#xff0c;客户端想访… 目录1. filter过滤器1.1 原理1.2 配置1.3 过滤掉脏话demo2. listener监听器2.1 作用2.2 ServletContextListener demo1. filter过滤器 作用:过滤servletjspjscss图片对象以及一切在服务器客户端想访问的对象用来设置编码过滤掉脏话等…过滤器链你有多个过滤器你如果多个filter过滤一个servlet配置一个servlet那么这个多个过滤器会形成过滤器链。 1.1 原理 不多bb请看下面的图 就像学校的图书馆你进学校有保安守着校门这是一次过滤进学校图书馆你得刷卡才可自习。只是过滤器可以配置多个对不同得对象… 1.2 配置 比如我想创建一个过滤掉脏话的过滤器叫FilterDirtyTalk对DirtyMsg servlet进行过滤 filterfilter-nameFilterDirtyTalk/filter-namefilter-classfilter.FilterDirtyTalk/filter-class!-- 与servlet配置相似 --/filterfilter-mappingfilter-nameFilterDirtyTalk/filter-nameurl-pattern/DirtyMsg/url-pattern !-- 想进入dirtymsg servlet 得先经过filter --/filter-mapping但是上面的servlet只能过滤从jsp进来的 假如你有业务从一个servlet转发到jsp后台页面但是这个页面要登录才行。你没登录按上面的配置过滤器过滤不到所以来了解过滤器的规则。 过滤器过滤规则 FORWARD:转发时进行过滤 REQUEST:浏览器直接请求时进行过滤(默认:没有配置dispatcher节点的时候) INCLUDE:动态包含的时候执行过滤器 % include %:静态包含,把被包含的页面的源代码拷贝过来与包含页面一起转译编译运行;包含的过程中不能传参 jsp:include动态包含:包含页面和被包含页面分开转译编译运行,然后将结果合并到一起;包含的过程中可以传参 ERROR:在出错的时候进入过滤器 在web.xml filter-mapping加上 dispatcherREQUEST/dispatcher !-- 默认对请求进行过滤 --dispatcherFORWARD/dispatcher !-- 会检查请求转发--1.3 过滤掉脏话demo 过滤掉脏话filter_config.txt 文本文件 你妹妹妹 你弟弟弟 你妈妈妈拿到request对象中的用户请求数据继承HttpServletRequestWrapper package servlet;import java.util.Map;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper;public class MyRequest extends HttpServletRequestWrapper {private MapString, String[] map;public MyRequest(HttpServletRequest request) {super(request);map request.getParameterMap(); }Overridepublic String getParameter(String name) {// 返回第一个值String[] str map.get(name);if (str.length 0 str ! null)return str[0];return null;}Overridepublic MapString, String[] getParameterMap() {// 返回mapreturn map;}Overridepublic String[] getParameterValues(String name) {// string数组值return map.get(name);}} 把脏话转成civilized word package filter;import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set;import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest;import servlet.MyRequest;public class FilterDirtyTalk implements Filter {Overridepublic void destroy() {// 过滤掉 你妹你妈你弟等 - 你妹妹妹 // tomcat8.0 给你的版本map是副本, 重写HttpServletRequestWrapper 重新拿到map的值 ... }Overridepublic void doFilter(ServletRequest req, ServletResponse resp,FilterChain chain) throws IOException, ServletException {HttpServletRequest hreq (HttpServletRequest) req;// 把请求改变为我的请求类里面正真的改变了map集合req new MyRequest(hreq);if (hreq.getMethod().equalsIgnoreCase(get)) { // get方式// tomcat 8.0 已经设置好了get编码} else if (hreq.getMethod().equalsIgnoreCase(post)) {req.setCharacterEncoding(utf-8);}resp.setContentType(text/html;charsetutf-8);File file new File(E:\\servletStudy\\Servlet3\\filter_config.txt);// 读取脏话FileReader fr new FileReader(file);BufferedReader br new BufferedReader(fr);HashMapString, String dirtyMap new HashMapString, String();// 改变value的值 如果是dirty-talk// 读取filter-configString str br.readLine();while (str ! null) {dirtyMap.put(str.split()[0], str.split()[1]);str br.readLine();} // 把脏话放入集合。。。SetEntryString, String dirtySet dirtyMap.entrySet();// 请求对象键值对MapString, String[] map req.getParameterMap();SetEntryString,String[] entrySet map.entrySet();for (EntryString, String[] entry : entrySet) {String key entry.getKey(); // 请求对象参数String[] value entry.getValue(); // 请求对象值System.out.println(key \t Arrays.toString(value));for (int i 0; i value.length; i) {for(EntryString, String set : dirtySet) {String dirty set.getKey();if (dirty.equals(value[i]))value[i] set.getValue();}}System.out.println(转换后);System.out.println(key \t Arrays.toString(value));}br.close();fr.close();// 放行 jsp才可访问servlet...chain.doFilter(req, resp);}Overridepublic void init(FilterConfig arg0) throws ServletException {}} DirtyMsg 拿到jsp页面过滤的值 package servlet;import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class DirtyMsg extends HttpServlet {/*** dirty msg*/private static final long serialVersionUID 1L;Overrideprotected void service(HttpServletRequest req, HttpServletResponse arg1)throws ServletException, IOException {String name1 req.getParameter(name1);String name2 req.getParameter(name2);String name3 req.getParameter(name3);System.out.println(name1 name2 name3);} } jsp页面 正确过滤后 2. listener监听器 2.1 作用 用来监听request/session/application的创建/销毁/数据操作讲一个ServletContextListener, 用来监听application的创建和销毁监听tomcat的开启和关闭 2.2 ServletContextListener demo 配置 listenerlistener-classtest.MyServletContextListener/listener-class/listener实现 package test;import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener;public class MyServletContextListener implements ServletContextListener {Overridepublic void contextInitialized(ServletContextEvent sce) {System.out.println(服务器开启啦。。。 可以初始配置文件啦...);}Overridepublic void contextDestroyed(ServletContextEvent sce) {System.out.println(服务器销毁啦。。。);}} ServletContextAttributeListener元素的移除可得到移除信息rbrrequestsession的套路类似
http://www.yutouwan.com/news/151971/

相关文章:

  • 温州市网站wordpress要评论了才能看到内容
  • 自己怎么制作企业网站2022年时事新闻摘抄
  • 重庆企业网站定制wordpress调用python
  • wordpress网站首页银川seo优化
  • 互联网行业的工作岗位网站推广的优化
  • 尚义住房和城乡规划建设局网站桂林最新情况最新数据
  • 开发网站的基本原则新网域名备案
  • 门户网站建站注意事项wordpress 会员发帖
  • 嘉兴建站模板系统网站app开发价格
  • wordpress建站比较wordpress 文章分页代码
  • 网站怎么收费精品课程云网站建设
  • 阿克苏网站建设公司经典软文案例
  • 备案期间需要关闭网站做婚恋网站赚钱吗
  • 有什么网站可以接单做兼职的seo优化员
  • 网站建设开发定制互联网 网站建设
  • wordpress如何添加网站地图安徽建筑管理人员信息网
  • 网站前端需要会什么WordPress文章查询插件
  • 建筑公司网站源码开源青海建筑人才网
  • 网站如何与支付宝对接网站外包要花多少钱
  • 温州市微网站制作多少钱开发网址需要多少钱
  • 做网站数据库坏了做的网站怎么上传
  • 开贴纸网站要怎么做的中国好公司网站建设
  • 网站开发主菜单和子菜单wordpress技术类博客
  • 重庆制作网站公司简介软件商店安装
  • 高端的网站开发公司网站开发用哪个程序
  • 经营性质的网站温州做公众号和做网站的地方
  • 广州嘉怡服饰有限公司网站建设wordpress 标签别名
  • 网站外链隐形框架是什么韶关营销网站开发联系方式
  • 杭州市下城区建设厅网站成都网站推广哪家专业
  • 软件编程毕业设计代做网站水平线设计公司官网