当前位置: 代码迷 >> Java Web开发 >> [分享]JSP页面翻译原理
  详细解决方案

[分享]JSP页面翻译原理

热度:115   发布时间:2006-10-26 11:39:35.0
[分享]JSP页面翻译原理

每一个JSP页面都会被Web容器编译成一个Java类,供web容器调用,并且生成HTML叶面回馈给用户。而了解其中的变异方法和规则,对我们学习JSP是非常有好处的,可以说学习好了这个编译原理,就已经学习好了大部分的JSP知识,剩下的工作就只剩下熟记一些tablib和反复应用以使自己更加熟练而已了。。


先来看一下JSP页面所对应的Class的基本结构。每一个JSP页面都会被编译成成如下的格式样子,先给一个大致的印象,详细的说明在后面。

public class My$jsp extends HttpJspBase { static {} public date$jsp() {} private static boolean _jspx_inited = false; public final void _jspx_init() throws org.apache.jasper.runtime.JspException {}; public void _JSP pageservice(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { JspFactory _jspxFactory = null; PageContext pageContext = null; HttpSession session = null; ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; String _value = null; try { if (_jspx_inited == false) { synchronized (this) { if (_jspx_inited == false) { _jspx_init(); _jspx_inited = true; } } } _jspxFactory = JspFactory.getDefaultFactory(); response.setContentType("text/html;charset=ISO-8859-1"); pageContext = _jspxFactory.getPageContext(this, request, response, "", true, 8192, true); application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); // HTML // begin [file="/date.jsp";from=(0,0);to=(7,6)] out.write("\r\n\r\n\r\n" + "\r\n\r\n\r\n" + "The date is\r\n"); // end // begin [file="/date.jsp";from=(7,8);to=(7,57)] out.println((new java.util.Date()).toString()); // end // HTML // begin [file="/date.jsp";from=(7,59);to=(10,7)] out.write("\r\n \r\n \r\n"); // end } catch (Throwable t) { if (out != null && out.getBufferSize() != 0) { out.clearBuffer(); } if (pageContext != null) { pageContext.handlePageException(t); } } finally { if (_jspxFactory != null) { _jspxFactory.releasePageContext(pageContext); } } } }

搜索更多相关主题的帖子: JSP  原理  页面  翻译  分享  

----------------解决方案--------------------------------------------------------
妈哦
这是代码吗!
简直是垃圾.....是我们项目经理说的,没注释的代码全是垃圾....
----------------解决方案--------------------------------------------------------
呵呵,代码确实乱,没有经过排版
----------------解决方案--------------------------------------------------------
以下是引用kafei在2006-11-8 19:41:33的发言:
妈哦
这是代码吗!
简直是垃圾.....是我们项目经理说的,没注释的代码全是垃圾....

你整个好的大家看看咯
----------------解决方案--------------------------------------------------------
排下版吧

这样看着好累啊
最好有注释啊
----------------解决方案--------------------------------------------------------
呵呵.对 整个好的出来瞧瞧.没注释的代码全是垃圾....
----------------解决方案--------------------------------------------------------
呵呵。“垃圾”!!
----------------解决方案--------------------------------------------------------

  相关解决方案