JSP基础

来源:互联网 发布:淘宝服务商入驻条件 编辑:程序博客网 时间:2024/06/03 17:41

通过servlet进行整个网站的开发也是可以的,不过在servlet中输出HTML代码,特别是比较复杂的HTML代码,就会显得特别麻烦。为了解决这种难题,我们采用一种技术JSP,可以很方便的在HTML代码中编写java代码,本文就对这种技术进行讲解。

JSP代码的执行过程

  1. 将jsp文件转换为.java文件,此.java文件就是一个servlet(可以发现此.java类继承了org.apache.jasper.runtime.HttpJspBase,而HttpJspBase 继承了HttpServlet);
  2. 将此servlet编译为.class文件;
  3. 执行class文件生成HTML文件;
  4. 将此HTML文件由服务器响应给客户端。

    这里写图片描述

JSP的页面元素

这里写图片描述

注:
<%=%> 不需要分号结尾,<%%> 需要以分号结尾,和java代码一样。

JSP的include

include有两种方式指令include和动作include.二者的区别如下:
指令include <%@include file=”footer.jsp” %>,footer.jsp的内容会被插入到 hello.jsp 转译 成的hello_jsp.java中,最后只会生成一个hello_jsp.java文件;
动作include ,footer.jsp的内容不会被插入到 hello.jsp 转译 成的hello_jsp.java中,还会有一个footer_jsp.java独立存在。 hello_jsp.java 会在服务端访问footer_.jsp.java,然后把返回的结果,嵌入到响应中;
指令include导致两个jsp合并成为同一个java文件,所以就不存在传参的问题,在发出hello.jsp 里定义的变量,直接可以在footer.jsp中访问;
动作include是对footer.jsp进行了一次独立的访问,那么就有传参的需要。

Cookie是一种浏览器和服务器交互数据的方式。Cookie是由服务器端创建,但是不会保存在服务器。创建好之后,发送给浏览器。浏览器保存在用户本地。下一次访问网站的时候,就会把该Cookie发送给服务器。
这里写图片描述

Session

Session对应的中文翻译是会话。
会话指的是从用户打开浏览器访问一个网站开始,无论在这个网站中访问了多少页面,点击了多少链接,都属于同一个会话。 直到该用户关闭浏览器为止,都属于同一个会话。
这里写图片描述

JSP的隐式对象

JSP的隐式对象指的是不需要显示定义,直接就可以使用的对象,比如request,response JSP一共有9个隐式对象,分别是
request,response,out ,pageContext,,session,application ,page,config,exception。

JSP Standard Tag Library

JSTL允许开人员可以像使用HTML标签 那样在JSP中开发Java功能。 JSTL库有core, i18n, fmt, sql 等等。 i18n和sql用的很少,core和fmt在工作中会用到。
为了能够在JSP 中使用JSTL,首先需要两个jar包,分别是jstl.jar 和standard.jar。
在页面中使用JSTL需要在jsp中 通过指令进行设置

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix='fmt' %>  <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 

EL表达式

不同版本的tomcat是否默认开启对EL表达式的支持,是不一定的。所以为了保证EL表达式能够正常使用,需要在<%@page 标签里加上isELIgnored=”false”。

原创粉丝点击