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

汽车网站推广策略外贸网站使用什么品牌国外主机

汽车网站推广策略,外贸网站使用什么品牌国外主机,网站建设广州白云,网络公司具体是干什么的过滤器 我们写多了servlet会发现#xff0c;很多代码和功能是重复的#xff0c;比如#xff1a;解决中文乱码问题、权限验证、日志的记录等#xff0c;他们的特点是#xff1a;代码相同或相似、分散在不同位置、不利于维护。 过滤器就是他们的解决办法。 过滤器是请求到…过滤器 我们写多了servlet会发现很多代码和功能是重复的比如解决中文乱码问题、权限验证、日志的记录等他们的特点是代码相同或相似、分散在不同位置、不利于维护。 过滤器就是他们的解决办法。 过滤器是请求到达目标之前的处理程序也是响应离开服务器之前的处理程序。 我们可以定义多个过滤器来组成一个过滤器链每个过滤器完成一个任务请求和响应如图所示依次经过过滤器第一个过滤器最先被经过离开时最后被经过。 这种设计使用了一个设计模式责任链模式。 一个图秒懂 如图功能类似的代码只有一份便于维护。 我们如何使用过滤器呢 1开发过滤器类 2指定过滤器过滤范围有些请求不需要经过某些过滤器 一共也就两个方法非常简单我们写一个解决中文乱码的过滤器吧 public class EncodingFilter implements Filter{private String encoding;/*** 初始化操作只执行一次*/Overridepublic void init(FilterConfig config) throws ServletException {//先读取配置文件获取编码类型encoding config.getInitParameter(encoding);if(encoding null){encoding utf-8;}}/*** 相当于Servlet的service()过滤范围的每次请求响应都经过*/Overridepublic void doFilter(ServletRequest request,ServletResponse response, FilterChain chain)throws IOException, ServletException {//请求到达目标资源之前的预处理操作request.setCharacterEncoding(encoding);//调用下一个过滤器或者目标资源chain.doFilter(request, response);//响应离开服务器端之前的后处理操作(无)}/*** 销毁操作只执行一次*/Overridepublic void destroy() {// TODO Auto-generated method stub}} 相关配置也和servlet类似通过kv找到utf-8 filterfilter-nameEncodingFilter/filter-namefilter-classcom.bjsxt.filter.EncodingFilter/filter-classinit-paramparam-nameencoding/param-nameparam-valueutf-8/param-value/init-param/filterfilter-mappingfilter-nameEncodingFilter/filter-nameurl-pattern/servlet/*/url-pattern/filter-mapping 我们再理解一下过滤器的执行过程 代码中 //请求到达目标资源之前的预处理操作                             //调用下一个过滤器或者目标资源                //响应离开服务器端之前的后处理操作(无) 一共有这么三个操作而过滤器的执行过程就是如此的 化的很丑但是就是这个意思。 再写一下怎么搞过滤范围也超简单直接上代码了   public class AuthFilter implements Filter{Overridepublic void init(FilterConfig filterconfig) throws ServletException {// TODO Auto-generated method stub}/*** 过滤路径是 /servlet/* *.jsp* 某些jsp应该排除在外 * 某些servlet应该排除在外*/Overridepublic void doFilter(ServletRequest request,ServletResponse response, FilterChain chain)throws IOException, ServletException {HttpServletRequest httprequest (HttpServletRequest)request; String uri httprequest.getRequestURI();int n1 uri.indexOf(login.jsp);// 0 存在int n2 uri.indexOf(register.jsp);int n3 uri.indexOf(index.jsp);int n4 -1;int n5 -1;if(n10 || n20 ||n30 ||n40 ||n50 ){ //假设是需要排除在外的资源//放行chain.doFilter(request, response);}else{//do something}}Overridepublic void destroy() {// TODO Auto-generated method stub} } 监听器 监听器是一个实现特定接口的普通Java程序,这个程序专门用于监听另一个Java对象的方法调用或属性改变当被监听对象发生上述事件后监听器某个方法立即被执行 超简单代码例子 package listener;import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.Date;import javax.servlet.ServletRequestAttributeEvent; import javax.servlet.ServletRequestAttributeListener; import javax.servlet.ServletRequestEvent; import javax.servlet.ServletRequestListener; import javax.servlet.http.HttpServletRequest; /** * 记录每个请求的时间客户端IPURL地址到日志文件中 * author Administrator * */ public class LogListener implements ServletRequestListener,ServletRequestAttributeListener{/*** 请求结束了*/Overridepublic void requestDestroyed(ServletRequestEvent servletrequestevent) {// TODO Auto-generated method stub}/*** 请求开始了* 其实对于图片、视频、音频、js、css也会有一个新的请求所以也会被监听*/Overridepublic void requestInitialized(ServletRequestEvent sre) {//获取要记录的每个请求的时间客户端IPURL地址Date now new Date();HttpServletRequest request (HttpServletRequest)sre.getServletRequest();String addr request.getRemoteAddr();String url request.getRequestURL().toString(); //http://127.0.0.1:8081/myservlet/servlet/UserServletString qs request.getQueryString(); //methodlogin//记录到日志文件中PrintWriter pw null;try {pw new PrintWriter(new FileWriter(d:/requestlog.log, true)); //if(qs! null){pw.println(timenow.toLocaleString(),addraddr,urlurl?qs);}else{pw.println(timenow.toLocaleString(),addraddr,urlurl);} } catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{pw.close();}}/*** request.setAttribute(error,用户名不能为空);**/Overridepublic void attributeAdded(ServletRequestAttributeEvent servletrequestattributeevent) {// TODO Auto-generated method stub}/**** request.removeAttribute(error);*/Overridepublic void attributeRemoved(ServletRequestAttributeEvent servletrequestattributeevent) {// TODO Auto-generated method stub}/*** request.setAttribute(error,用户名和密码错误);*/Overridepublic void attributeReplaced(ServletRequestAttributeEvent servletrequestattributeevent) {// TODO Auto-generated method stub}}listenerlistener-classlistener.LogListener/listener-class/listener
http://www.pierceye.com/news/306547/

相关文章:

  • 网站建设教程浩森宇特福州医院网站建设公司
  • 怎样在网站上做超链接网站商城是用什么框架做的
  • 网站建设增城wordpress新文章类型
  • 广州市招投标中心官网上海网站关键词优化
  • 很多网站开发没有框架如何制作的长沙旅游景点大全排名
  • 云南网站推广的目的做动画的网站有哪些
  • 网站建设公司在哪里找资源模拟建设网站
  • 如何盗用网站模板哈尔滨公告
  • 管理咨询网站焦作专业做网站公司哪家好
  • 在国内做跨境电商怎么上外国网站网站不收录
  • 网站介绍ppt怎么做屏蔽网站ip
  • it公论 是建立在什么网站wordpress搬迁数据库连接失败
  • 南县建设局网站营销型网站开发流程包括
  • 有关应用网站申请免费网站空间
  • 二手书交易网站开发现状营销型网站建设推荐乐云seo
  • 山西网站建设怎么样seo优化网站多少钱
  • 网站建设设计模板磁力链最佳的搜索引擎
  • 单位外部网站建设价格哪些网站可以做视频直播
  • 广州黄埔网站建设公司国外做调灵风暴的网站
  • 珠海附近交友平台软件广州网站优化推广方案
  • cgi做网站如何将网站加入百度图 推广
  • 小贷做网站深圳手机app软件开发
  • 上海平台网站建设费用页面模板不存在怎么办
  • 西安网站排名公司上海工商网查询官网
  • 网站建设协调机制建网站 可以看到访客吗
  • 学生做网站的工作室南和住房和城乡建设局网站
  • 潍坊网站制作案例广东十大网站建设排名
  • 网站建设市场调研框架网站建设流程步骤怎么样
  • 喜茶品牌策划全案案例seo技术
  • 简速做网站中国企业网站建设案例