jsp学习心得
学习JSP技术也快半年多了吧,自己也动手编写了一些简单的动态网页吧。众所周知动态网页三大技术ASP,JSP,PHP基本上是三分天下,当然还有其他语言像Ruby,Python等也占据不小的份额。
学习JSP过程中我感触最深的是如下几点:
1.JSP是一种表示层的技术
我认为如果不知道JSTL和EL表达式根本说不上学好了JSP技术。学过JSP一定对这些脚本元素很熟悉:
(1)<%! %> 声明脚本元素
(2)<%= %> 表达式脚本元素
(3)<% %> scriptlet脚本元素
可以再这些脚本元素中直接插入Java代码,用于流程控制和应用逻辑,看似十分简单和方便,但恰恰这些脚本元素玷污了表示层。这些脚本元素是JSP早期版本遗留下来的问题,在JSP2.0中引入了EL并结合JSTL基本上解决了上述问题,使得我们可以编出不含有脚本的JSP代码,让JSP是真正意义上是用于表示。
2.JSP实质是Servlet
此外如果不熟悉Servlet也称不上精通JSP,究其本质来看JSP最终要编译成Java字节码即.class文件。大家可以在Tomcat 6.0/work/Catalina/localhost/xx(工程名)/apache/jsp下发现所有.jsp文件都被编译成.class文件,而这些类实质都是继承自Servlet。有兴趣大家可以把这些文件反编译看看。
最后我把我学习中的两本学推荐给大家吧《JSP程序设计》和《JSP高级程序设计》大部分心得都是受书的影响!!
学习JSP过程中我感触最深的是如下几点:
1.JSP是一种表示层的技术
我认为如果不知道JSTL和EL表达式根本说不上学好了JSP技术。学过JSP一定对这些脚本元素很熟悉:
(1)<%! %> 声明脚本元素
(2)<%= %> 表达式脚本元素
(3)<% %> scriptlet脚本元素
可以再这些脚本元素中直接插入Java代码,用于流程控制和应用逻辑,看似十分简单和方便,但恰恰这些脚本元素玷污了表示层。这些脚本元素是JSP早期版本遗留下来的问题,在JSP2.0中引入了EL并结合JSTL基本上解决了上述问题,使得我们可以编出不含有脚本的JSP代码,让JSP是真正意义上是用于表示。
2.JSP实质是Servlet
此外如果不熟悉Servlet也称不上精通JSP,究其本质来看JSP最终要编译成Java字节码即.class文件。大家可以在Tomcat 6.0/work/Catalina/localhost/xx(工程名)/apache/jsp下发现所有.jsp文件都被编译成.class文件,而这些类实质都是继承自Servlet。有兴趣大家可以把这些文件反编译看看。
最后我把我学习中的两本学推荐给大家吧《JSP程序设计》和《JSP高级程序设计》大部分心得都是受书的影响!!