JSP = HTML技术 + Java技术 + JSP特有技术

JSP(Java Server Page)

是原SUN公司开发的一款运行在Web服务器中的动态Web技术之一,属于JavaEE体系架构之一

JSP最佳实践,即MVC模式

在长期的实战中,人们得出如下习惯用法:
1.显示View:JSP适合做页面的显示,例如:显示登录成功界面
2.控制Controller:Servlet适合做业务控制操作,例如:接收用户请求,将用户请求的参数值封装到JavaBean对象中去,调用其它Java类处理,如果有结果,将结果放入到域对象中去,转发或重定向到显示结果的JSP页面
3.功能Model:Bean,即就是普通Java类,该类中封装大量的业务操作

JSP共有三种指令

01——page指令

<%@ page 属性名=”属性值”  %>
一个指令可以有多个属性,属性名="属性值"
指令通常放在JSP的第一行,第一行前不要有任何空白符和注释

02——include指令

<%@ include file=”被包含的jsp页面的路径” %>
在翻译成Servlet时,就将被包含的JSP页面中的内容翻译成Servlet中了,即多个JSP只会翻译成1个Servlet,静态包含

03——taglib指令

    在JSP页面中需要引用第三方的标签
 <%@ taglib uri=”名称空间”  prefix=”标签的前缀”%>
JSP中有9个内置对象
request                     请求对象,请求域对象
response                    响应对象
session                     会话域对象
application                 应用域对象
config                      获取某个Servlet的初始化参数
out                         JSP专用的字符输出对象
exception                   异常对象
page                        JSP页面自己
pageContext                 当前域对象
**pageContext功能强大,其中有一个findAttribute()这个API,它会
依次从page->request->session->application这几个域对象,

pageContext         生命周期:页面范围有效
request             生命周期:请求范围有效
session             生命周期:会话范围有效
application         生命周期:应用范围有效
EL表达式

1 什么是EL(Expression Language)
EL是一种在JSP中使用的,由JSP引擎解析的特殊字符串
2 EL的作用
01——获取域对象数据(包括JavaBean,数组,集合)
EL会依次从page->request->session->application中依次查找字符串对应的值, 如果EL找不到,返回空白字符串””,不是null EL底层就是pageContext.findAttribute()这个API ${NAME}找不到返回”“ findAttribute(“NAME”)找不到返回null
02—— 执行运算
算术(+-*/),关系(>>=<<=!=和==),逻辑(&&||!)

EL中有11个内置(隐式)对象
pageContext              当前域对象
pageScope/requestScope/sessionScope
/applicationScope        域对象中key=value形式的Map对象,不是域对象
param/paramValues        用于获取请求行和体中的内容
header/headerValues      用于获取请求头中的内容
cookie                   用于获取浏览器中Cookie的名和值
initParam                用户获取整个Web应用初始化参数
JSP之动作标签

1 什么是动作标签
是JSP内置标签,无需导入第三方的jar包,
该标签封装了一定的业务逻辑
2 常用的动作标签

01——<jsp:forward  page=””/>
02——<jsp:include   page=””/>,属于动态包含
           静态包含:将多个JSP翻译成一个Servlet
           动态包含:将多个JSP翻译成多个Servlet
03——<jsp:param    name=””       value=””/>
JSP之JSTL标签

1 什么是JSTL标签
JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的,在所有支持JSP的Web服务器中都可以运行。

2 为什么要用JSTL标签
其实不管是动作标签,EL,还是JSTL,他们都是为了在JSP中,封装业务操作,但又不想在JSP中书写大量的<%%>符号,达到页面的整体统一,让人觉得JSP页面都是由标签组成。但这个标签本质上还是与标签有区别的。

3 常用的JSTL标签
01——c:if
02——c:choose/c:when/c:otherwise
03——c:forEach
要在jsp声明一个指令: <%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c” %>
<%@ page language=”java” import=”java.util.*” pageEncoding=”UTF-8”%>
<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c” %>

<html>
  <head>
    <title>My JSP 'date.jsp' starting page</title>
  </head>
  <body>
    <% 
        List<String> list = new ArrayList<String>();
        list.add("HTML");
        list.add("CSS");
        list.add("JS");
        list.add("XML");
        list.add("AJAX");
        list.add("TOMCAT");
        request.setAttribute("LIST",list);
    %>
    <c:if test="${!empty LIST}">
        <c:forEach var="course" items="${LIST}">
            ${course}<br/>
        </c:forEach>    
    </c:if>         
    <hr/>
    <c:choose>
        <c:when test="${!empty LIST}">
            <c:forEach var="course" items="${LIST}">
                ${course}<br/>
            </c:forEach>
        </c:when>
        <c:otherwise>
            查无数据
        </c:otherwise>
    </c:choose>
  </body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值