学生时代写的,话说,我也不知道和现在有什么区别呵呵。
这阵子看东西的时候看到
jsp的动态导入(<jsp:include file=””>)和静态导入(<%@ include file=””%>)。。
好,我承认了,n久以前看这些的时候觉得没啥,一直跳,虽然有回顾,但始终给漏了点东西。
但是说真的,像:
- jsp的内置对象
- <%! %>与<% %>的区别
- 再加上上面说到的那个.
其实有时候觉得钻得选方向,如果像网上经常动不动就搬一大块砖让人啃,估计过阵子牙齿掉了,顺便老年痴呆,又忘了不还得重来。
只要 知道jsp本质是个servlet,像tomcat这web容器的根目录里的work目录里能看到生成的代码就够了,没必要搞得太复杂.
像jsp的内置对象
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException { final javax.servlet.jsp.PageContext pageContext; javax.servlet.http.HttpSession session = null; final javax.servlet.ServletContext application; final javax.servlet.ServletConfig config; javax.servlet.jsp.JspWriter out = null; final java.lang.Object page = this; javax.servlet.jsp.JspWriter _jspx_out = null; javax.servlet.jsp.PageContext _jspx_page_context = null; try { response.setContentType("text/html;charset=ISO-8859-1"); pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true); _jspx_page_context = pageContext; application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); _jspx_out = out;
内置对象都摆这。变量名冲突也就这样子。编译不通过的原因都在这.
<% %>有! 跟没有的区别是做用域的问题,一个是在service方法中,一个在外面,现在回归基础就能理解有时候那些为什么exception 了
而
动态跟静态导入也就这样
<%=basePath %> dynamic: <jsp:include page="temp.jsp"></jsp:include> static: <%@include file="temp.jsp" %> <%=basePath %>
动态导入
out.write(" dynamic: "); org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "temp.jsp", out, false); out.write("rn"); out.write(" static: ");
静态导入有兴趣可以去看看
就是像是将两个源文件按位置合并,再转成servlet, so 变量名不能出现重复
ok,基础就到这了。知道的别拍呀!是上网查时那个火呀~~~~!
之所以纠结这些,是明白怎么运行的,比去记一堆规定要好理解,理解的东西就不容易出错。就算出错,也可以很快分析问题。Y(^_^)Y
转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827
如有漏缺,请联系我 QQ 243008827
This is very interesting, You’re a very skilled blogger. I have joined your feed and look forward to seeking more of your excellent post. Also, I have shared your site in my social networks!