JSP基本详情

JSP

1 JSP概述

.1 什么是JSP

JSP(Java Server Pages)是JavaWeb服务器端的 动态资源 。它与html页面的作用是相同的, 显示数据和获取数据 。

1.2 JSP的组成

JSP = html + Java脚本(代码片段) + JSP动态标签

2 JSP语法

2.1 JSP脚本

JSP脚本就是Java代码片段,它分为三种:

  • <%...%>:Java语句;

  • <%=…%>:Java表达式;

  • <%!...%>:Java定义类成员;

<%@ page language="java"   import="java.util.*"   pageEncoding="UTF-8"  %>
<!DOCTYPE HTML>
<html> 
    <head>  
        <title>JSP演示</title> 
    </head>  
    <body>  
        <h1>JSP演示</h1>  
        <%      
           // Java语句    
           String s1 = "hello jsp";     
           // 不会输出到客户端,而是在服务器端的控制台打印    
           System.out.println(s1);  
         %> 
          <!-- 输出到客户端浏览器上 -->  
          输出变量:<%=s1 %><br/>  
          输出int类型常量:<%=100 %><br/>  
          输出String类型常量:<%="你好" %><br/>  <br/> 
       </body>
</html>
2.2 内置对象out

out对象在JSP页面中无需创建就可以使用,它的作用是用来向客户端输出。

 <body>  
     <h1>out.jsp</h1>   
     <%
        //向客户端输出        
        out.print("你好!");   
     %> 
</body>

其中<%=…%>与out.print()功能是相同的!它们都是向客户端输出,例如:

<%=s1%>等同于<% out.print(s1); %>

<%=”hello”%>等同于<% out.print(“hello”); %>,也等同于直接在页面中写hello一样。

2.3 多个<%...%>可以通用

在一个JSP中多个<%...%>是相通的。例如:

 <body>  
     <h1>out.jsp</h1>   
     <%     
        String s = "hello"; 
     %> 
      <%        
         out.print(s);  
      %> 
</body>

循环打印表格:

<body>  
    <h1>表格</h1>     
    <table border="1" width="50%">      
        <tr>            
            <th>序号</th>         
            <th>用户名</th>            
            <th>密码</th>     
        </tr>   
        <%          
           for(int i = 0; i < 10; i++) {
        %>      
        <tr>            
            <td><%=i+1 %></td>          
            <td>user<%=i %></td>            
            <td><%=100 + 1 %></td>      
        </tr>   
        <%      
           }    
        %>  
  </table> 
</body>

3 JSP九大内置对象

在JSP中无需创建就可以使用的9个对象,它们是:

  • out(JspWriter):等同与response.getWriter(),用来向客户端发送文本数据;

  • config(ServletConfig):对应“真身”中的ServletConfig;

  • page(当前JSP的真身类型):当前JSP页面的“this”,即当前对象;

  • pageContext(PageContext):页面上下文对象,它是最后一个没讲的域对象;

  • exception(Throwable):只有在错误页面中可以使用这个对象;

  • request(HttpServletRequest):即HttpServletRequest类的对象;

  • response(HttpServletResponse):即HttpServletResponse类的对象;

  • application(ServletContext):即ServletContext类的对象;

  • session(HttpSession):即HttpSession类的对象,不是每个JSP页面中都可以使用,如果在某个JSP页面中设置<%@page session=”false”%>,说明这个页面不能使用session。

在这9个对象中有很多是极少会被使用的,例如:config、page、exception基本不会使用。

4 EL表达式(EL expression)

语法: ${expression} expression:作用域.对象名[.方法名] (方法名去掉get/set,)

el 隐式作用域: pageScope,requestScope,sessionScope,applicationScope

. 如果指定了存储的作用域则直接: ${xxxScope.keyName}
​
 . 也可以不指定作用域访问则按以下顺序从作用域中查找,顺序如下
​
   pageScope --> requestScope --> sessionScope --> applicationScope

el 请求参数:

 . param: 获取请求参数值(String) [request.getParameter("名字");]
param.名字
​
 . paramValues:获取请求参数数组(String[])[request.getParameterValues();]

el 请求头

 . header: ${header['User-Agent']}   等同 getHeader("User-Agent")

el 运算符(请参见书p183)

4、JSTL(javaserver page standard tag library) jsp标准标签库

tag指令:<%@ taglib uri="Oracle Java Technologies | Oracle" prefix="c"%>

jsp指令:

. page指令
​
 . include指令: <%@ include file="relativeURL" %>
​
 . taglib指令

JSTL的使用

 (1)导包: jstl.jar , standard.jar
​
 (2)在指定的jsp页面中通过<%@ taglib %>导入对应的库
​
 (3)使用
​
    . <c:set /> , <c:out /> <c:remove />
​
    . <c:forEach /> , <c:if /> , <c:choose> <c:when></c:when><c:otherwise></c:otherwise></c:choose>

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值