jsp基础

1.jsp介绍

动态页面技术,JSP全名为Java Server Pages,中文名(java服务页面),它实现了Html语法中的java扩展(以 <%, %>形式),就是可以在jsp页面中书写java代码。jsp是通过servlet技术实现的一种技术

在jsp刚刚出现的时候就替代了servlet,当时把大量的代码都集成到jsp页面中(一个jsp的form提交到另一个jsp),后面由于业务的增多还有技术的进步,jsp现在就仅仅作为一个显示数据的页面的作用。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>一个jsp页面</title>
</head>
<body>
	
</body>
</html>

 

2.脚本和注释

三种在jsp页面中书写java代码方式

<%java代码%> ----- 内部的java代码翻译到service方法的内部,局部变量,不能声明方法

<%=java变量或表达式> ----- 会被翻译成service方法内部out.print()

<%!java代码%> ---- 会被翻译成servlet的成员的内容,全局变量,可以声明方法

 

三种注释

Html注释:<!--注释内容--> ---可见范围 jsp源码、翻译后的servlet、页面(不常用)

java注释://单行注释  /*多行注释*/ --可见范围 jsp源码 翻译后的servlet(常用)

jsp注释:<%--注释内容--%> ----- 可见范围 jsp源码可见(最常用)

 

3.jsp原理

jsp的本质就是servlet,jsp在第一次访问的时候会被web容器翻译成servlet,然后再执行

运行:第一次访问 >>> hello.jsp >>> hello_jsp.java >>> 编译成.class >>> 运行(在tomcat中可以找到)

 

4.三大指令

4.1)page指令

创建jsp时默认生成,属性是以键值对形式存在,是属性最多的一个指令

language:jsp脚本中可以嵌入的语言种类

pageEncoding:当前jsp文件的本身编码---内部可以包含contentType

contentType:response.setContentType(text/html;charset=UTF-8)

session:是否jsp在翻译时自动创建session

import:导入java的包

errorPage:当当前页面出错后跳转到哪个页面

isErrorPage:当前页面是一个处理错误的页面

 

4.2)include指令

页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中

<%@ include file="被包含的文件地址"%>

 

4.3)taglib指令

在jsp页面中引入标签库(jstl标签库、struts2标签库)

<%@ taglib uri="标签库地址" prefix="前缀"%>

 

5.九大内置对象

out:用于页面输出------javax.servlet.jsp.JspWriter

request:用户请求信息------javax.servlet.http.HttpServletRequest(重要、重要、重要)

response:用户响应信息------javax.servlet.http.HttpServletResponse(重要、重要、重要)

session:用来保存用户信息------javax.servlet.http.HttpSession(重要、重要、重要)

config:服务器配置,可以获得初始化参数------javax.servlet.ServletConfig

application:所有用户的共享信息,即:ServletContext域-----javax.servlet.ServletContext

page:指当前页面转换后的Servlet类的实例------javax.servlet.ServletContext

pageContext:jsp页面容器------javax.servlet.jsp.PageContext(重要、重要、重要)

exception:表示JSP页面所发生的异常,在错误页中才起作用------java.lang.Throwable

 

a.out对象

out作用就是想客户端输出内容----out.write()

out缓冲区默认8kb 可以设置成0 代表关闭out缓冲区 内容直接写到respons缓冲器

 

b.pageContext对象(划重点)

jsp的页面上下文对象,是一个域对象

作用一:<---通用的域方法--->

setAttribute(String name,Object obj)

getAttribute(String name)

getAttribute(String name)

<---pageContext可以向指定的其他域中存取数据--->

pageContext.getAttribute("name", PageContext.REQUEST_SCOPE)

setAttribute(String name,Object obj,int scope)

setAttribute(String name,Object obj,int scope)

setAttribute(String name,Object obj,int scope)

findAttribute(String name)可以通过name直接拿出其他域中的值(依次从:pageContext域,request域,session域,application域)

作用二:可以获得其隐式对象pageContext.getRequest()

 

四大作用域总结:

page域:当前页面,主要作用于一个jsp页面

request域:一次请求,也是一次性数据(内部转发)

session域:一次会话,直到浏览器关闭

application域:整个web应用,即ServletContext域范围最大

在java中往往能通过最小的得到最大的

 

6.jsp标签

页面包含(动态包含):<jsp:include page="被包含的页面"/>动态包含与静态包含区别于:静态包含会直接将两个jsp页面整合成一个java文件然后编译运行,动态包含则是两个java文件编译运行后再整合到一起

请求转发:<jsp:forward page="要转发的资源" />

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值