关于JSP不得不了解的一些知识
JSP
Java Server Pages = JSP是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。
JSP的由来
- 在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。
- 如果使用Servlet程序来输出只有局部内容需要动态改变的网页,其中所有的静态内容也需要程序员用Java程序代码产生,整个Servlet程序的代码将非常臃肿,编写和维护都将非常困难。
- 对大量静态内容的美工设计和相关HTML语句的编写,并不是程序员所要做的工作,程序员对此也不一定在行。网页美工设计和制作人员不懂Java编程,更是无法来完成这样的工作。
- 为了弥补 Servlet 的缺陷,SUN公司在Servlet的基础上推出了JSP技术作为解决方案。
- JSP是简化Servlet编写的一种技术,它将Java代码和HTML语句混合在同一个文件中编写,只对网页中的要动态产生的内容采用Java代码来编写,而对固定不变的静态内容采用普通静态HTML页面的方式编写。
- JSP是JavaWeb服务器端的动态资源。它与html页面的作用是相同的,显示数据和获取数据。
- JSP的组成:JSP = html + Java脚本(代码片段) + JSP动态标签
建立对JSP的直观认识
- JSP页面是由HTML语句和嵌套在其中的Java代码组成的一个普通文本文件,JSP 页面的文件扩展名必须为.jsp。
- 在JSP页面中编写的Java代码需要嵌套在<%和%>中,嵌套在<%和%>之间的Java代码被称之为脚本片段(Scriptlets),没有嵌套在<%和%>之间的内容被称之为JSP的模版元素。
- JSP中的Java代码可以使用out.println语句将其他Java程序代码产生的结果字符串输出给客户端,也可以使用System.out.println语句将它们打印到命令行窗口。
JSP文件就像普通的HTML文件一样,它们可以放置在WEB应用程序中的除了WEB-INF及其子目录外的其他任何目录中,JSP页面的访问路径与普通HTML页面的访问路径形式也完全一样。 - 在JSP页面中也可以使用一种称之为JSP表达式的元素,只需将要输出的变量或表达式直接封装在<%= 和 %>之中,就可以向客户端输出这个变量或表达式的运算结果。在JSP表达式中嵌套的变量或表达式后面不能有分号。
JSP的原理
- JSP是特殊的Servlet
JSP是一种特殊的Servlet,当JSP页面首次被访问时,容器(Tomcat)会先把JSP编译成Servlet,然后再去执行Servlet。所以JSP其实就是一个Servlet!
servlet,html,jsp 的优缺点
- Servlet:
缺点:不适合设置html响应体,需要大量的 response.getWriter().print("")
优点:动态资源,可以编程。 - html:
缺点:html是静态页面,不能包含动态信息
优点:不用为输出html标签而发愁 - Jsp:
优点:在原有html的基础上添加java脚本,构成jsp页面。
jsp和Servlet的分工
-
JSP:
作为请求发起页面,例如显示表单、超链接。
作为请求结束页面,例如显示数据。 -
Servlet:
作为请求中处理数据的环节。