如果一个jsp中,既有jsp脚本:<% %>,又<c:forEach>这些struts标签,
他们在tomcat中的解析顺序是怎样的,也就是翻译成servlet的顺序??
一、是按先后顺序谁前先解析谁吗?
二、还是先统一解析<c:forEach>这些struts标签,在解析<% %>?
三、是先<% %>再<c:forEach>?
四、乱来的。我在项目中不会把<% %>和<c:forEach>这些混写在一起,我知道的。
这是道面试题面试题来的,看你懂不懂原理,谁知道呢?
他们在tomcat中的解析顺序是怎样的,也就是翻译成servlet的顺序??
一、是按先后顺序谁前先解析谁吗?
二、还是先统一解析<c:forEach>这些struts标签,在解析<% %>?
三、是先<% %>再<c:forEach>?
四、乱来的。我在项目中不会把<% %>和<c:forEach>这些混写在一起,我知道的。
这是道面试题面试题来的,看你懂不懂原理,谁知道呢?
解决方案 »
- 在js页面存放request后,java端怎么取值?
- J2EE应用程序中的六种范围类型
- 请教各位大牛,Hibernate的Annotation有什么缺点?
- xwork-2.0.7源代码
- 求助:No deserializer for {http://www.w3.org/2001/XMLSchema}anyType 是什么错误啊?
- 一个基础很容易的问题, 谁解决了30分送上, 顶着也送
- ajax 报异常 java.lang.IllegalStateException: getOutputStream() has already been called for this response
- 两个jboss的MQ怎样通信?
- foxpro程序,和一个java(web)项目的数据互通
- com.alibaba.druid.proxy.jdbc.ClobProxyImpl cannot be cast to oracle.sql.CLOB
- servlet的问题
- JDBC connection 讨论
首先应该回答每一个标签都是对应1个tld
每一个tld是一个xml
在tld里有一个<tag>标记的<name>对应一个<tag-class>类
每次调用这个name的标签就会调用相对应的类
具体xml配置可以去看下tld,流程就是这个简单最后在
web.xml中加入这个tld页面的uri上对应一下就好了
既然一个JSP在生成class文件前先生成一个servlet文件
那么不管这个JSP里面含有<%...%> 还是jstl 都是按照顺序来解析的
因为最后都是按照顺序输出的
jsp是特殊的Servlet首先把jsp文件翻译成.java文件 这个类是继承org.apache.jasper.runtime.HttpJspBase这个类的
文件中可以看到使用了 JspWriter out = pageContext.getOut(); out.write();可以在tomcat下的work目录下找到 再把.java文件编辑成.class文件
这个开放任何系统没有任何联系,出这样的题一定是个外行。
现在很对面试题上,我浏览过,很多都是很开发没有太多联系甚至没联系,就是乱搞。
这个题看样就是人事那个外行乱搞的。
出这样题目的公司,估计也不是怎么好公司?
不过还是告诉,
在jsp 解析到servlet过程中,是按jsp中源码顺序解析。形成java与html嵌套的java文件
因为底层的servlet容器根本不认识你是structs,还是spring这些框架。你要把一个jsp交给容器解析你就要交一个JSP规范的文档。如果structs不把tag-lib标签先解析了底层的servlet容器怎么知道你的tag是什么意思?
我想应该是按顺序来的我也没有运行过 呵呵。。