什么是jsp?

小课堂

分享人:陈昊

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

JSP(Java Server Page)中文是java服务器页面,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。

JSP的根本是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。

JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

2.知识剖析

Servlet

Servlet是J2EE 规范中的一种,主要是为了扩展java作为web服务的功能,Servlet是J2EE 规范中的一种,主要是为了扩展java作为web服务的功能。 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:   

1、编写一个Java类,实现servlet接口。

  

2、把开发好的Java类部署到web服务器中

jsp工作原理

(1)当客户第一次请求JSP页面时,JSP引擎会通过预处理把JSP文件中的静态数据(HTML文本)和动态数据(Java脚本)全部转换为Java代码。

(2)JSP引擎把生成的.java文件编译成Servlet类文件(.class)。对于Tomcat服务器而言,生成的类文件默认的情况下存放在Tomcat\work目录。

(3)编译后的class对象被加载到容器中,并根据用户的请求生成HTML格式的响应页面。

需要注意的是,JSP 文件不是在服务器启动的时候转换成 Servlet 类的。而是在被客户端访问 的时候才可能发生转换的 ( 如 JSP 文件内容没有被更新等,就不再发生 Servlet 转换 )。

3.常见问题

为什么一般不建议在jsp中写java代码?

4.解决方案

1.可读性很差,<% ..%>将java代码和html都写在一起,并且还要尖括号的表达式,看起来很复杂难懂。

2.jsp难于调试,不能进行单元测试,不能进行debug,可维护性差。

3.jsp内写java代码,安全性低,代码都在jsp中可以被看到

5.编码实战

6.扩展思考

tile框架和jsp中的include标签有啥关系?

7.参考文献

参考一:http://www.blogjava.net/fancydeepin/archive/2013/09/30/fan_servlet.html

参考二:https://en.wikipedia.org/wiki/JavaServer_Pages

参考二:Head First Servlets & JSP

8.更多讨论

欢迎大家交流和讨论

鸣谢

感谢大家观看

BY : 陈昊