jsp jsp指令

JSP

HTMLjava语句拼接而成的文本,后缀名为.jsp

1、Jsp翻译成servlet:先翻译,Tomcat将翻译后的文件放置在安装目录下(所有JSP页面本质上就是Servlet程序)

2、编译为字节码

(在JSP生命周期中,翻译和编译只进行一次)

3、类加载——Web容器装载新生成的servlet

4、创建Servlet实例

5、jspInit()

6、_jspServer()

7、jspDestory()

 

基础类型:不能被继承(final

PageEconding:得到存储的类型

 

JSP简化创建产生文本的Servlet

JSP网页主要由元素和模板数据

1、模板数据是JSP的静态部分

2WEB容器不处理

3、元素则是必须经由WEB容器解释

4、元素都是以XML做为语法基础,并且大小写要一致

 

web容器支持两种不同格式的JSP语法

1、普通格式和XML兼容格式

2、普通JSP语法是设计给开发者用的

3XML兼容JSP语法是设计用来容易被开发工具使用的

 

脚本元素,在模板数据块之间嵌入JAVA代码

1、声明  <%声明%>

2、Scriptlet <%代码%>

3、脚本表达式 <%脚本表达式%>

 

Scriptlet直接插入Java代码片断到模板数据中

一个Scriptlet只能是Java程序

必须符合Java的规范

“<%”开始,以“%>”结束来包含程序代码段

<%java程序代码%>

导包:<%@page=com.lovo.user%>

JSP内置对象:例如:打印 out session

 

Out.print() = <%=  %> 同时打印

 

声明变量:

1、<%! 可以有变量和方法 %>   全局变量 必须以一个分号结尾

2、<% 声明变量%>    局部变量

 

JSP注释 <%--    -- %>

HTML注释  <!--   -->  在页面的源代码会显示出来

Java注释 /*  */

 

JSP指令

1.Page:整个页面

2.Include:把文本中的文本静态地包含过去<%@ include file=” ” %>

 <jsp:directive.include file=””></jsp:include>

动态包含(每个包含都会生成一个jsp

<jsp:forward page=””></jsp:forward> 跳转到另一个页面

 

3.Taglib

 

Application:全局变量

pageContext:当前页面的pageContext对象

 

JAVA Web 的开发模式

脚本元素:<% %>

指令:<%@ %> page  include  public

标准动作:<jsp:page = “”>

 

模式:

JSP+JavaBean

<jsp:userBean id = “beanName” 变量名 scope=”page|request|session|application”>

 

<jsp:userBean id=”stu” class=”com.my.bean.Student” scope=”request”/>

<jsp:setProperty  property=”id” name=”stu” param=”userid”/>

<jsp:getProperty  property=”id” name=”stu”/>

 

MVC模型

1、定义一系列Bean来表示数据

2、使用一个Servlet来处理请求

3、在Servlet中填充Bean

4、在Servlet中,将Bean存储到请求、会话或者Servlet上下文中

5、将请求转发到JSP页面

6、在JSP页面中,从Bean中提取数据

 

 

EL表达式

${表达式}——用对象.属性

打印数据:1<%=  %>

  2out.print();

  3${对象.属性}

EL的隐式对象:10

EL运算符分为四种:

 1、属性和集合访问运算符

 2、算术运算符  ${person.age + 10} 得到年龄 (+-*/)

 3、关系运算符  ${person.age>20} 判断年龄 是否等于(==)

 4、逻辑运算符  (||&&)

EL函数

 

JSP标准标记库JSTL

核心库(core)

Prefix:前缀 url:地址

例:<%@taglib prefix=”c” url=”http://java.sun.com/jsp/jstl/core”%>

 

JSTL流程控制

<c:if test=”${person.age>20}”>

年龄大于20

</c:if>

 

 

if/else

<c:choose>

  <c:when test=”${person.age>20}”>

他的年龄大于20

  </c:when>

  <c:when test=”${person.age==20}”>

他的年龄等于20  

  </c:when>

  <c:otherwise>

他的年龄小于20  

  </c:otherwise>

</c:choose>

循环

Step:隔多久开始打印

Items:循环集合

List<String>  list = new ArrayList<String>();

List.add(“qwe”);

List.add(“qee”);

List.add(“wet”);

request.setAttribute(“myList”,list);

varStatus:变量的格式

<c:forEach var=”i” begin=”1” end=”10” step=”2” items=”${myList}” varStatus=”sta”>

Sta.index:下标

Sta.count:第几次打印

${i}===${sta.index}====${sta.count}=====${sta.first}=====${sta.last}

</c:forEach>

posted @ 2016-12-04 19:09  z豆丁  阅读(241)  评论(0编辑  收藏  举报