JSP快速入门

JSP

一、概述

JavaServerPages: Java服务器页面 ,是一个一种动态网页技术,既可以定义HTML页面,又可以定义Java代码;简化了Servlet中Responce :: getWriter().write(),便于书写展示页面。
JSP运行时自动创建了一个继承自HttpServlet的类,本质上是一个Servlet类。

  1. 服务器解析请求消息,查找是否有index.jsp资源
  2. 若找到,会将index.jsp转换为对应的index.java文件
  3. 编译index.java文件,生成index.class字节码文件
  4. 由字节码文件提供访问

二、定义方式

2.1 注释

//

  • 只能注释java代码
  • 还会被编译为字节码文件,但不会被加载到html页面中

<!-- -->

  • 只能注释html代码片段
  • 响应时还会向浏览器发送被注释的代码片段,但浏览器不解析

<%-- --%>

  • 可以注释所有JSP代码
  • 响应时不会发送代码片段

2.2 定义Java代码

<% %> 局部代码块

定义的java代码在service()方法中 ,service方法中可以定义什么,该脚本中就可以定义什么

<%! %> 全局代码块

定义的java代码在转换后的java类的成员位置 ,用于定义成员方法、成员变量(由于多线程安全问题不建议定义)、静态代码块…

<%= %> 脚本调用方式

out.print(代码 );
定义的java代码在service()方法的输出语句中 ,会输出到页面上,输出语句中可以定义什么,该脚本中就可以定义什么(可以放有返回值的方法)

2.3 指令

用于配置JSP页面,或导入资源文件,不同属性空格隔开

<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %>

2.3.1 page指令

contentType : 等效于Response :: serContentType(); 设置响应体的MIME类型与字符集

<%@ page contentType="text/html,charset=GBK"%>

language :JSP页面要被转义成的语言,现在只支持Java

session : JSP页面中是否有session对象,默认为true

import :导包

<%@ page import="java.util.*"%>

errorPage : 指定当前页面出现异常后跳转的页面

<%@ page errorPage="error.jap"%>

isErrorPage : 赋值为[true] 标记标记当前JSP页面为错误页面,可以使用 exception 内置对象

isELIgnored :赋值为[true]时忽略整个JSP页面的EL表达式

2.3.2 include指令

导入页面的资源文件,如多个页面同时使用某一页面时

静态导入

<%@include file="相对位置"%>

被导入的页面不会被转换为新的Servlet文件,而是与当前页面直接合并;
运行效率高,但两个页面会耦合到一起,不利于维护;还会有命名重复的问题

动态导入

<jsp:include file="相对位置"></jsp:include>

被导入的页面被转换为新的Servlet文件,与当前页面解耦

2.3.3 taglib指令

导入资源,如标签库

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

prefix:自定义的前缀名,使用标签库时用<前缀名:>

2.3.4 forward指令

实现JSP页面的请求转发

<jsp:forword page="相对位置">
    <jsp:param name="key" value="value">
    <
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值