JSP语法九大内置对象和四大作用域

一.JSP

原理:JSP其实就是一个servlet。

Servlet负责业务逻辑处理,JSP只负责显示。开发中,JSP中不能有一行JAVA代码

 

二.JSP语法

1. JSP模板元素:JSP中HTML标签及文本

2. 脚本:写JAVA代码,<% %>

3. 表达式:用于输出变量及表达式,<%= %>

4. 注释:分为三种

a) <!-- --> :JSP翻译成Servlet时也将进行翻译。页面中也有。

b) <% /*.......*/ %>:JSP翻译成Servlet时会被翻译,但页面(右击源代码)中没有。

c) <%-- .......... --%>:JSP翻译成Servlet时不会被翻译。

 

三.指令

1. page:此指令可放在JSP页面中的任意位置。作用范围为整个JSP页面

属性:

language:默认值JAVA,目前也只有JAVA

extends:JSP对应的SERVLET的父类

import:导入此JSP页面中所用到的包,类。多个包以逗号分隔,默认已导入的包有:java.lang.*,javax.servlet.*,javax.servlet.http.*,javax.servlet.jsp.*

session:是否创建HttpSession对象,默认为true

buffer:设置缓存,取值none|8kb|sizekb,默认8kb。一般为默认值。

autoFlush:是否自动刷新,true|false,默认true。

isThreadSafe:Jsp对应的Servlet是否实现SingleTreadMode接口。默认为true, false为实现。//实现单线程

errorPage:设置错误页面

在web.xml配置默认错误页面

<error-page>

<exception-type>java.lang.Exception</exception-type>

<location>/exce.jsp</location>

</error-page>

<error-page>

<error-code>404</error-code>

<location>/404.jsp</location>

</error-page>

isErrorPage:默认为flase,指示是否生成Throwable对象的引用exception.

contentType:设置HTML中MIME类型的编码,如同Servlet中response.setContentType();

pageEncoding:告知引擎翻译JSP时使用的编码。

isELlgnored:是否忽略EL表达式,JSP2.0以后,默认为false

 

四.include:

包含:

1. 动态包含

<jsp:include page=”....” />

如有两个JSP文件A,B. A动态包含B,A和B各自翻译成A_jsp.class和B_jsp.class文件,然后容器将两个servlet合并。再输出。

2. 静态包含

<%@ include file=”.....” %>

A和B翻译成一个A_jsp.class文件。已经合并,并给容器。再输出。

 

2. taglib:

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

 

 

五.九大隐式对象

request: HttpServletRequest

response: HttpServletRequest

session: HttpSession(page指令中session设置true后,才会有)

config: ServletConfig

application: ServletContext

exception: Throwable(page指令中isErrorPage设置为true后,才会有)

page: 当前servlet的引用

out: JspWriter(等同于PrintWriter)

pageContext: javax.servlet.jsp.PageContext;

作用:

a. 可以获取其它8大隐式对象

b. 本身也是一个域对象,作用范围为本页面

提供了操作其他域对象的方法(ServletContext,HttpSession, ServletRequest)

 

操作自身域对象的方法:

pageContext.getAttribute(Stringname);

pageContext.setAttribute(Stringname,Object value);

pageContext.removeAttribute(Stringname);

 

操作其它域对象的方法:

Object getAttribute(Stringname,int scope)

scope:PageContext有对应的常量

PageContext.APPLICATION_SCOPE

PageContext.SESSION_SCOPE

PageContext.REQUEST_SCOPE

PageContext.PAGE_SCOPE

voidremoveAttribute(String name,int scope)

voidsetAttribute(String name,Object value,int scope)

 

当我们只知道有name这么一个参数,但不知道在哪个域中时。可以用:

pageContext.findAttribute(Stringname);

查找的顺序由小到大,page->request->session->context

 

c. 提供了包含及转发的方法

pageContext.forward(String path);

pageContext.include(String path)

 

六.四大域对象

pageContext:在本页面中有效

request: 在一次请求及转发的Servlet中有效

session: 在一次会话中有效,直到超时及销毁

application: 在整个web应用有效,生命周期为Web运行期间

 

原则:域对象越小越好。

 

七.JSP内置标签(动作元素)

jsp:include:动态包含

jsp:forward:请求转发

jsp:param:传递请求参数

 

八.JavaBean

1. 有无参的构造方法

2. 私有的字段(字段名小写开头)

3. 提供公共的getter和setter方法。

4. 一般实现java.io.Serialiable(可序列化)接口。

 

作用:用于封装数据

 

九.JavaBean的动作元素

1、jsp:useBean

作用:从指定的域范围查找指定名称的对象。找到直接返回;找不到创建该对象的实例,并放到指定的范围中。

范围:page request sessionapplication

属性:

id:引用对象的名称

class:查找的类型

scope:指定的范围。默认值是page

 

 

2、jsp:getProperty

获取指定javabean的指定属性的取值,并打印到页面上。如果属性值为null,打印null。

属性:

name:javabean的名称

property:操作的是getter属性

 

3、jsp:setProperty

作用:设置Javabean的某个属性的值。

属性:

property:属性名称。支持通配符*

name:javabean的名称

value:直接指定值

param:指定请求参数名。

 

十.JavaWeb的开发模型

1、模型1:JSP+JavaBean

特点:适合开发非常简单的应用。

2、模型2:JSP+Servlet+JavaBean(MVC)

M:模型 JavaBean

V:视图 JSP

C:控制器 Servlet

 

JSP(Java Server Pages)是一种基于Java语言的服务器端网页开发技术,其中包括九大内置对象四大作用域九大内置对象是指在每一个JSP页面中,系统自动为开发者创建的九个对象,分别是: 1. request对象:用于获取HTTP请求的信息,如请求参数、请求头等。 2. response对象:用于设置HTTP响应的信息,如设置返回的内容、重定向等。 3. out对象:用于向客户端输出内容,可以通过该对象在页面中生成动态内容。 4. session对象:用于存储用户的会话信息,可以在不同的页面和请求之间共享数据。 5. application对象:用于存储全局的应用程序数据,可供所有用户访问。 6. config对象:用于获取当前JSP页面的配置信息,如JSP的初始化参数等。 7. page对象:代表当前JSP页面本身,可以用于调用页面的方法属性。 8. exception对象:用于处理JSP页面中的异常,可以获取异常的相关信息。 9. pageContext对象:包含了对其他八个内置对象的引用,可用于简化代码的编写。 四大作用域是指在JSP中定义的存储数据的范围,分别是: 1. page作用域:数据的作用范围限定在当前JSP页面,即页面级别的作用域。 2. request作用域:数据的作用范围限定在一次HTTP请求与响应过程中,可供同一请求中的不同页面共享。 3. session作用域:数据的作用范围限定在用户的整个会话过程中,可供不同请求和页面共享。 4. application作用域:数据的作用范围限定在整个Web应用程序中,可供所有用户和所有请求共享。 通过合理的使用这九大内置对象四大作用域,可以方便地处理页面间的数据传递和数据共享,提高JSP网页开发的效率和灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值