有关JSP注释
最近学习过滤器的时候,dispatcher可以指定过滤器被Servlet容器拦截的方式,可以是REQUEST、INCLUDE、FORWARD、ERROR,默认是REQUEST方式。
现在有两个filter:helloFilter、secondFilter。从index.html页面超链接到dispatcher.jsp页面,dispatcher.jsp页面分别通过<jps:forward>、<jsp:include>等方式进入目的页面test.jsp,此时web.xml文件中的两个filter的dispatcher根据dispatcher.jsp页面进入test.jsp页面的方式进行配置。
1.先测试<jsp:forward>的时候,将secondFilter的dispatcher在web.xml中配置为<dispatcher>FORWARD</dispatcher>,helloFilter没有设 置(默认为REQUEST)。此时只有第二个filter起了拦截作用,第一个filter不起作用。
2.注释掉第一行代码
3.测试<jsp:include>,此时web.xml中两个filter的dispatcher配置和第1步保持一样没有改动。即:helloFilter的dispatcher没有设置默认为 REQUEST,secondFilter的dispatcher设置 成FORWARD。按照正常情况两个filter都不起作用。
问题在于:第2个filter仍然能起作用。
index.html代码如下

dispatcher.jsp代码如下:

test.jsp代码如下:

web.xml配置文件如下:

分析原因:index.html和test.jsp都没什么,唯一可能出问题的应该是dispatcher.jsp。而且是在dispatcher.jsp里设置通过哪种方式进入test.jsp的,所以问题出在了这个页面。
仔细检查,发现是JSP注释的问题:<%-- JSP注释 --%> 和<!-- HTML注释 -->。二者的区别:JSP注释可以阻止Java代码的执行,html不能。
思维误区:以前我以为放在<% %>里的只有java代码,java代码的注释放在<%-- --%>里。看到<jsp:forward page="/test.jsp"> </jsp:forward>我想到的是html代码,所以就 用<!-- -->注释了。但可以注意到这里是jsp:forward,也就是说他是Jsp代码并不是 html代码。归根到底还是没有对html有个基础了解,才会出现这么低级的错误。
也就是说,问题出在dispatcher.jsp文件里的注释上:<!-- -->不能阻止Java代码的执行,所以这里的<jsp:forward page="/test.jsp"></jsp:forward>也执行了,所以才会让第2个filter起了作用。
解决办法:


备注:如果直接在浏览器输入test.jsp地址,可以看到第1个filter工作,第2个filter不工作。因为直接在浏览器访问test.jsp页面,这是request方 式。第1个filter默认的拦截方式是 REQUEST,第二个filter设置的拦截方式是FORWARD。
如果希望两个filter都对request方式起作用,可以把第二个filter的dispatcher添加设置:

有关JSP注释的更多相关文章
- jsp 变量和方法的声明 Java程序片 HTML注释 JSP注释
<%!...%> 声明变量和方法 <%!...%>之中的变量为JSP页面的成员变量,当多个线程访问本页面时,多个线程共享此变量. <%@ page contentType ...
- JSP JSP工作原理 JSP语法 JSP声明 JSP注释 JSP指令 jsp九大隐式/内置对象
1 什么是JSP 1)为什么说,Servlet是一个动态Web开发技术呢? Servlet是基于服务端的一种动态交互技术, HttpServletRequest表示客户端到服务端的 ...
- jsp注释方式
1,HTML的注释方法 <!--...add your comments here...--> 说明:使用该注释方法,其中的注释内容在客户端浏览中是看不见的.但是查看源代码时,客户是可以看 ...
- JSP基础:JSP指令、JSP注释、JSP脚本、JSP声明、JSP表达式
JSP指令分为:page指令.include指令.taglib指令. page指令:通常位于JSP页面的顶端,同一个页面可以有多个页面指令. 语法:<%@ page language=" ...
- jsp基础语言-jsp注释
JSP注释可分为客户端注释和服务器端注释. 客户端注释:用户可通过浏览器中的源代码查看,且这种注释可以加入JSP表达式. 语法:<!-- 客户端注释[<%=表达式%>] --> ...
- jsp注释<%-- --%>和<!-- -->的区别
最近在写JSP页面注释的时候,遇到一个问题,在JSP页面引用的静态属性资源文件时,在浏览器控制台报错,当我把引用的标签注释掉后,用的是<!-- -->.然后浏览器仍然报了之前那个错,经过查 ...
- JSP注释
------------------siwuxie095 在 JSP 文件中可以使用 HTML 注释 HTML 注释使用 < ...
- JSP注释格式
一.JSP注释格式来源 JSP是Sun Microsystems公司制定的一种服务器端动态网页技术的组件规范,其主体由HTML.CSS.JavaScript和Java拼凑组成. 正是因为JSP是一种组 ...
- JSP 注释的详解及简单实例
转自:https://www.jb51.net/article/124727.htm JSP 注释的详解及简单实例 一 三种格式 二 举例 ? 1 2 3 4 5 6 7 8 9 10 11 12 1 ...
随机推荐
- Java 性能优化实战记录(3)--JVM OOM的分析和原因追查
前言: C/C++的程序员渴望Java的自由, Java程序员期许C/C++的约束. 其实那里都是围城, 外面的人想进来, 里面的人想出去. 背景: 作为Java程序员, 除了享受垃圾回收机制带来的便 ...
- 行为识别笔记:improved dense trajectories算法(iDT算法)(转载)
iDT算法是行为识别领域中非常经典的一种算法,在深度学习应用于该领域前也是效果最好的算法.由INRIA的IEAR实验室于2013年发表于ICCV.目前基于深度学习的行为识别算法效果已经超过了iDT算法 ...
- No 11.11 in my dictionary
今年雙十一又被坑了.被京东坑大發了,正在努力維權中. 買了大大小小將近3wCNY的商品中唯有一件,我十分滿意 羅技的G105遊戲鍵盤,雖然我不是拿來玩遊戲的. 中國人在對比國內外產品時總有1萬個理由好 ...
- ZOJ 1067 Color Me Less
原题链接 题目大意:一道类似于简单图像压缩的题目.给定一个调色板,然后把24位真彩色按照就近原则聚类. 解法:每个像素的色彩都是RGB三个值,相当于三维空间的一个点.所以当一个新的像素进来时,分别和调 ...
- HDU 2717 Catch That Cow --- BFS
HDU 2717 题目大意:在x坐标上,农夫在n,牛在k.农夫每次可以移动到n-1, n+1, n*2的点.求最少到达k的步数. 思路:从起点开始,分别按x-1,x+1,2*x三个方向进行BFS,最先 ...
- 第九章 C语言在嵌入式中的应用
上章回顾 编码的规范和程序版式 版权管理和申明 头文件结构和作用 程序命名 程序注释和代码布局规范 assert断言函数的应用 与0或NULL值的比较 内存的分配和释放细节,避免内存泄露 常量特性 g ...
- js中arguments,caller,callee,apply的用法小结
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <style typ ...
- 利用redis写webshell
redis和mongodb我之所见 最近自己在做一些个人的小创作.小项目,其中用到了mongodb和redis,最初可能对这二者没有深入的认识.都是所谓的“非关系型数据库”,有什么区别么? 实际上,在 ...
- JVMInternals
http://blog.jamesdbloom.com/JVMInternals.html http://blog.jamesdbloom.com/JavaCodeToByteCode_PartOne ...
- 用max-width来防止图片溢出---不兼容ie6-----将max-width设置成父元素的宽度,当图片过大时会换行,以及限制图片的宽度。但是如果使用table,仍然可能超出限制。
img{ max-width:100%; height:auto; } 如题.