初识 JSP

什么是jsp?
jsp全名为Java Server Pages(Java服务器页面)。它在传统的网页HTML文件中插入 java程序段 和 jsp标记。

JSP的脚本:
即:JSP定义Java代码的方式

  • <% 代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。
  • <%! 代码 %>:定义的java代码,在jsp转换后的java类的成员位置。
  • <%= 代码 %>:定义的java代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么。

jsp小案例:
给出一个 index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

      <% response.getWriter().write("hello jsp..."); %>
      <h1>hhhhhhh
      </h1>
</body>
</html>

jsp存在的意义:

传统的过程是,通过java从数据库中取数据,取完数据在页面上显示,html是无法做到的,servlet又太麻烦了,所以使用jsp。jsp本质是简化了的servlet。
浏览器发送请求给servlet,然后java从数据库中取数据,这个时候servlet可以选择自己把数据一条一条write给浏览器,但是很麻烦,所以用jsp,让jsp代替人执行这个过程。

jsp工作原理:

jsp在第一次访问时会被web容器翻译成servlet。如写了一个index.jsp,第一次访问会被翻译成index.jsp.java,把jsp里的标签通过out.write写出来给浏览器。然后编译成字节码文件index.jsp.class。在这里插入图片描述
在这里插入图片描述
读者可以打开 index.jsp.java 文件,来细细体会笔者上述的文字。

JSP指令

作用:用于配置JSP页面,导入资源文件
格式:<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 … %>

分类:

  • page : 配置JSP页面的
    1、contentType:等同于response.setContentType()
    (1)设置响应体的mime类型以及字符集
    (2)设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding属性设置当前页面的字符集)
    2、import:用来导包
    3、errorPage:当前页面发生异常后,会自动跳转到指定的错误页面
    4、isErrorPage:标识当前也是是否是错误页面。
    (1)true:是,可以使用内置对象exception
    (2)false:否。默认值。不可以使用内置对象exception

  • include : 页面包含的。导入页面的资源文件:
    <%@include file="top.jsp"%>

  • taglib : 导入资源,
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    prefix:定义前缀的

注释:
(1)html注释:<!-- --> 只能注释html代码片段
(2)jsp注释:<%-- --%> 可以注释所有

jsp的九大内置对象

顾名思义就是在jsp页面中不需要创建,直接使用的对象。同样也可以在 index.jsp.java 文件中找到。

四个域对象:
pageContext (PageContext类型的;当前页面共享数据,还可以获取其他八个内置对象)
request (HttpServletRequest类型的)
session(HttpSession类型的 )
application(ServletContext)

响应对象
response(HttpServletResponse)

当前页面(Servlet)的对象
page(Object)

输出对象
out(JspWriter)

Servlet的配置对象
config(ServletConfig)

异常对象
exception(Throwable)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值