jsp入门
标签: jsp
jsp?
1、jsp是什么,有什么作用?
—->对于刚刚入门的初学者,可能仅仅认为jsp就是一个页面。其实查看一下源码就可以知道,jsp的本质就是一个简化的Servlet。因为Servlet写动态WEB资源,工作量大,特别难以维护。而我们都知道jsp写动态web资源很简单,开发和html及其相似,所以:以后动态的web资源展示,尽量少使用原生的Servlet,建议使用jsp。
2、jsp和html的区别,什么时候用哪个?
—->HTML:只能展示静态WEB资源。不能写JAVA代码。并且浏览器直接解析。HTML在静态WEB资源展示效率极高。
—->JSP: 可以展示动态和静态的WEB资源。可以写JAVA代码。执行过程:先翻译成java,再编译成class,再执行class,再写响应体,再发送响应体,浏览器接收响应体翻译成html代码,然后再解析执行
—->所以:如果仅仅展示静态WEB资源,建议HTML。JSP因为可以写JAVA代码,可以轻松展示动态WEB资源,需要展示动态的WEB资源,JSP
3、JSP原理
—->JSP第一次访问时才会被翻译成java文件(Servlet)编译成class文件进行执行。JSP页面上写的HTML代码,CSS代码,JS代码,在翻译后的java文件中,都是以字符流输出到响应体中。翻译后java代码路径:tomcat/work/catalina/localhost/项目名/org/apache/jsp/JSP源码
4、org.apache.jasper.servlet.JspServlet
JSP容器
—->负责把JSP源码翻译成java文件,调用程序编译class,然后加载class作为Servlet执行
5、JSP继承树
—->查看源码可以发现,翻译后的java文件继承HttpJspBase,往上推发现HttpJspBase继承HttpServlet.
6、总结
—->对于学习JSP来说,其实并不难,主要是看翻译后的java代码,如果刚开始编写程序jsp页面如果出现错误,不要在jsp页面的代码上纠结,就去查看翻译后的java文件。当书写jsp页面的时候,虽然要求,JSP页面中,要少写java代码,但是不写真不行,所以当我们编写的时候,无论是用到EL表达式还是用到JSTL的标签库,都要想到jsp代码被翻译成java文件的格式。这样理解,jsp就会容易很多了!