①. 通过url的映射,找到具体的Servlet:
a. JSP Servlet映射以.jsp结尾的URL,当.jsp文件请求时,servlet容器知道要调用哪个Servlet.
②. Servlet容器检查Servlet是否已被编译.
③. 如果没有进行编译,则Servlet容器会将JSP转换为Servlet代码,并进行编译.
④. Servlet容器将JSP请求转发到编译JSP Servlet类.
⑤. JSP Servlet类返回并发送给客户端浏览器HTML.
(1). 技术优点:
①. 快速实现业务开发并上线:
a. jsp、php开发人员较多,工具生态比较成熟.
(2). 技术不足:
①. 需要先实现业务逻辑和功能,再输出HTML内容给浏览器:
a. 取数据这块比较耗时,用户需等待HTML页面完全加载之后才能看到页面内容.
b. 等待时间长,可能会产生白屏现象.
②. 代码耦合严重,业务逻辑和页面模板代码写在一起.
③. 需求变更上线周期相对较长:
a. 前端先写静态页,再给后端套模板.
b. 业务需要修改,涉及人员多.
(3). 协作方式:
①. 前端出静态页面,后端套页面.
(4). 选型建议:
①. 如果是创业初期、商业需求验证阶段、10个研发人员以内的项目:
a. 为了满足业务快速验证并一天内多次上线.
b. 技术选型可以用这种模式,服务端同步渲染没有任何问题,一人字就是"快".
②. 协作力器:
a. jSmart
b. Velocity.js