1.语法及使用

1.作用:
  • jsp用来在html中写java代码,服务器在执行jsp页面时,会将它转换为servlet类

在这里插入图片描述

2.指令标识

作用:设定相关信息。
1. 格式:<%@ 指令名 属性=“值”…%>

2. Page页面指令的属性:

  • import:设置jsp导入的类包
<%@ page import="java.util.*" %>
  • pageEncoding:设置编码(GBK显示中文简体和繁体)
<%@ page pageEncoding="GBK" %>
<%@ page contentType="text/html; charset=UTF-8" %>
  • session :是否使用http的session会话对象
<%@ page session="false" %>
  • isErrorPage:将当前JSP页面设置成错误页面
<%@ page isErrorPage="true" %>
  • errorPage:处理当前错误页面的路径
<%@ page errorPage="error/loginErrorPage.jsp" %>

-
  • autoFlush:jsp页面缓存满时,是否自动刷新缓存,,默认ture,如果设置为false,缓存满时抛出异常
<%@ page autoFlush="false" %>
  • buffer:out输出对象使用的缓冲区大小,值为8的倍数,默认8kb
<%@ page buffer="128KB" %>

2.文件包含include指令:

<%@ include file="head.jsp" %>

3.引用taglib标签库JSTL:

<%@ tagbli predic="c" uri="http://java.sum.com/jsp/jstl/core"
3.表达式

作用:向页面输出信息

<% =java语言 %>

1. 声明标识:定义全局变量或方法

<%!
    变量,方法.....
%>

2.代码片段

<%
    java代码
%>

3.当查看源代码时看不到的安全注释

<% --注释内容-- %>
4.动作标识

1.包含文件jsp:include

<jsp:include page="url" flush="false|true" />
或
<jsp:include page="url" flush="false|true" >
    <jsp:parame>
</jsp:inlcude>
  • flush默认值为false,如果设置为true,先刷新缓存,在执行包含
  • jsp:param:用于向被包含的页面传递参数

2.请求转发jsp:forward

<jsp:forward page="modify.jsp" >
    <jsp:param name="userID" value="7">
</jsp:forward>
  • 请求转发到modify.jsp页面的同时传递了参数
5.内置对象

作用:强大的对象处理能力

有以下可以直接使用的对象:

1.request:可以处理客户端浏览器提交的HTTP请求中的各项参数

  • 获取请求参数
<% 
    request.getParameter("参数名"):
%>

-设置数据传递到要转发的页面

<%
    request.setAttribute(String name,Object obj);
    
    request.getAttribute(String name);
%>
  • 获取cookie(用户信息,在网络服务器生成,以key/value的形式发送给浏览器并保存到客户的计算机某个指定的目录,用以标识用户身份,记录账号密码,跟踪用户)

  • 解决得到的参数值乱码
<%=new String(request.getParameter("name").getBytes("ISO-8859-1"),UTF-8) %>
  • 获取客户端信息
  • 获取http发过来的本地所使用的语言
java.util.Locale locale=request.getLocale();

2.response:用于响应客户请求,向客户端输出信息

  • 重定向网页:
<% response.sendRedirect("www.baidu.com"); %>
  • 处理HTTP文件头:

a.禁用缓存(默认下,浏览器会对显示的网页内容进行缓存,对于一些安全性要求要高的网站来说需要禁用):

<% 
response.setHeader("Cache-Control","no-stroe");
response.setDateHeader("Expires",0);
%>

b.页面自动刷新:

<% response.setHeader("refresh","10"); %>

c.定时跳转网页

<% response.setHeader("refresh","5;URL=login.jsp"); %>
  • 设置输出缓存(缓冲区:(内存的一块区域)服务器要输出到客户端的内容是先一次性写到一个输出缓冲区,再直接写到客户端。原因是cpu访问内存的速度快,而内存的运行速度慢)
<% response.setBufferSize(32); %>

3.session:会话

  • a.创建及获取客户的会话
<%
session.setAttribute(Srting name,Object obj);
session.getAttribute(String name).toString();
%>
  • 移除存储在session中的对象:
<%
session.removeAttrbute(String name);
%>
  • 销毁session
session.invalidate();
  • 会话超时
session.setMaxInactiveInterval(10000)//秒;

4.application:用于保存所有应用程序中的公有数据,自服务器启动时创建,在服务器停止时销毁

5.out:用于在web浏览器内输出信息,也可以管理应用服务器上的输出缓冲区

  • 向客户端输出数据
<% out.println("你好");%>
  • 管理缓冲区
<%
out.clear();
out.flush();
out.isAutoFlush();//检测当前缓冲区已满时是自动清空,还是抛出异常
out.getBufferSize();
%>

6.exception:用来处理错误异常,并且必须设置当前文件的page isErrorPage=“true”

<%=exception.getMessage() %>

7.pageContext:用于访问jsp内置对象

8.config:用于读取web.xml配置信息
9.page:代表jsp本身

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值