JSP原理
JSP的运行原理:JSP 本质上是一个Servlet。
每个JSP 页面在第一次被访问时,JSP引擎将它翻译成一个Servlet 程序,然后再把这个 Servlet 源程序编译成Servlet 的class 类文件。
然后再由WEB 容器(Servlet容器)像调用 Servlet 程序一样的方式装载和解释执行这个由JSP 页面翻译成的 Servlet 程序。
FreeMarker 和 velocity 原理
在Struts2框架下,Struts2框架充当了之前的Servlet角色,只要浏览器的请求经过Struts2处理后,Struts2都会自动加载FreeMarker模板,
并使用数据模型来填充该模板,再调用servlet的"PrintWriter printWriter = resp.getWriter()"将最后的HTML页面出给客户端