JSP学习.docx

上传人:b****7 文档编号:9242646 上传时间:2023-02-03 格式:DOCX 页数:14 大小:455.80KB
下载 相关 举报
JSP学习.docx_第1页
第1页 / 共14页
JSP学习.docx_第2页
第2页 / 共14页
JSP学习.docx_第3页
第3页 / 共14页
JSP学习.docx_第4页
第4页 / 共14页
JSP学习.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

JSP学习.docx

《JSP学习.docx》由会员分享,可在线阅读,更多相关《JSP学习.docx(14页珍藏版)》请在冰豆网上搜索。

JSP学习.docx

JSP学习

一、JSP简介

1、也是SUN公司推出的开发动态web资源的技术,属于JavaEE技术之一。

由于原理上是Servlet,所以JSP/Servlet在一起。

二、HTML、Servlet和JSP

1、HTML:

静态页面,不能包含java代码,只能有HTML有关的标记

2、Servlet:

写java代码,做页面的输出,不是很方便(开发效率很低)

3、JSP:

HTML+java

三、输出当前的时间

四、JSP的原理及生命周期

1、JSP就是Servlet,学习好JSP的关键(语法),时刻想到他对应的Servlet。

2、时常翻阅JSP对应的Servlet源码

五、JSP的语法

5.1模板元素

指JSP中的那些HTML。

开发时先编写模板元素,因为他们决定页面的外观。

5.2Java程序片段

语法:

<%java程序%>

出现在JSP对应Servlet的service方法中。

<%声明的变量:

局部%>

5.3Java表达式

语法:

<%=表达式%>

小练习:

作业

5.4JSP声明

语法:

<%!

%>

作用:

定义JSP对应Serlvet的成员(变量和方法、静态方法)

注意:

开发中很少用。

5.5JSP注释

语法:

<%--这是注释--%>

作用:

注释掉的代码,JSP引擎不会翻译到Servlet源码中。

要注意和HTML注释的区别。

5.6JSP指令:

简介:

指令是为JSP引擎设计的。

而只是告诉引擎如何处理JSP页面中的其余部分(非指令部分);

基本语法格式:

<%@指令属性1=”值1”....%>.

一般把指令放在JSP页面的顶部(不是必须的)

指令的属性可以写在一个指令的中,也可以分开写:

比如:

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

等价于:

<%@指令属性1=”值1”%>.

<%@指令属性2=”值2”%>.

page:

属性:

language:

告知引擎,脚本用的是什么语言?

默认java,支持java。

不写也行。

extends:

告知引擎,JSP对应的Servlet的父类是哪个。

不需要写,也不要改。

*import:

告知引擎,导入哪些包。

注意:

引擎自动导入:

java.lang.*;javax.servlet.*;javax.servlet.http.*;javax.servlet.jsp.*;

导入的形式:

用Eclipse:

Alt+/自动导入

*session:

告知引擎是否产生HttpSession对象,即是否在代码中调用request.getSession()。

默认值true。

buffer:

JspWriter用于输出JSP的内容到页面上。

告知引擎,设定他的缓存大小。

默认8Kb。

*errorPage:

告知引擎,当前页面出现了异常,应该转发到哪个页面上(路径写法:

/代表着当前应用)

配置全局错误页面:

web.xml

*isErrorPage:

告知引擎,是否抓住异常。

如果该属性为true,页面中就可以使用exception隐含对象,打印异常的详细信息。

*contentType:

告知引擎,响应正文的MIME类型。

contentType=”text/html;charset=UTF-8”

*pageEncoding:

告知引擎,翻译JSP时(要从磁盘上读JSP文件)所用的码表。

pageEncoding=”UTF-8”:

相当于,告知了引擎用UTF-8读jsp,还response.setContentType(“text/html;charset=UTF-8”);

*isELIgnored:

告知引擎,是否忽略EL表达式。

默认值是false,不忽略。

总结:

属性众多。

一般都用的默认值。

用起来很简单,最简单的形式:

<%@pagepageEncoding="UTF-8"%>

 

include:

包含

属性:

file,以”/”开头,就代表着当前应用。

07

taglib:

引入外部的标签。

uri:

外部的标签的uri地址,好比名称空间

prefix:

前缀。

六、JSP中的转发和包含

1、转发:

forwardpage="/10forward.jsp">

forward>

JSP的内置标签。

2、参数:

不能单独使用

向目标传递请求参数

10forward

3、包含:

静态包含:

<%@include%>

动态包含:

其余的

includepage=””/>

总结:

用标签可以少些java脚本。

七、JSP的九个隐含对象:

JSP对应的Servlet的service方法中的局部变量

JSP隐含对象名称

类型

备注

request

javax.servlet.http.HttpServletRequest

response

javax.servlet.http.HttpServletResponse

session

javax.servlet.http.HttpSession

page指令有开关

application

javax.servlet.ServletContext

config

javax.servlet.ServletConfig

page

javax.servlet.http.HttpServlet

当前jsp对应Servlet的实例引用

exception

java.lang.Throwable

page指令有开关

out

javax.servlet.jsp.JspWriter

字符输出流。

相当于PrintWriter

pageContext

javax.servlet.jsp.PageContext

很重要

八、JSP中的异常处理

1、运行时异常

以上情况找JSP对应的Servlet源码。

2、出现的错误(语法不对)

九、PageContext抽象类(很重要)

1、本身是一个域(范围)对象,还能操作其他3个域对象中的属性

●页面范围:

voidsetAttribute(Stringname,Objectvalue);

voidremoveAttribute(Stringname);

ObjectgetAttribute(Stringname);

●操作其他域对象中的属性:

voidsetAttribute(Stringname,Objectvalue,intscope);

voidremoveAttribute(Stringname,intscope);

ObjectgetAttribute(Stringname,intscope);

intscope:

常量,PageContextPAGE_SCOPE(页面)REQUEST_SCOPE(请求)SESSION_SCOPE(会话)APPLICATION_SCOPE(应用)

●在四个范围中依次查找指定名称对象的方法:

PAGE(页面)REQUEST(请求)SESSION(会话)APPLICATION(应用)

ObjectfindAttribute(Stringname);

2、获取其他八个JSP隐含对象(自定义标签时用)

PageContext.getRequest();

getServletContext();

getServletConfig();

getException();

get...

3、提供转发和包含的简易方法

十、四大域对象

实际开发中:

存放数据的

2.html

默认取值增加范围是pagecontext

PageContext:

页面范围。

最小。

开发中很少用。

演示代码。

ServletRequest:

请求范围。

不同的资源,只有用转发。

HttpSession:

会话范围。

多次请求共享数据,但不同的客户端不能共享。

ServletContext:

应用范围。

最大。

尽量少用。

用时要做同步处理。

十一、JSP开发的最佳实践

Servlet:

擅长写Java代码逻辑,不擅长输出html的内容。

开发中作为:

控制器。

JSP:

不擅长写Java代码逻辑,擅长显示结果。

开发中作为:

视图(显示结果)

十二、JavaBean的概念

1、JavaBean又称之为POJO(PlainOldJavaObject)、VO(ValueObject)、DO(DataObject)

2、JavaBean的书写规范

a、必须是public的

b、提供默认的构造方法

c、字段都是私有的:

privateStringusername;

d、提供公有的getter或setter方法:

属性。

getUsername():

读属性,属性名:

username.

setUsername(Stringusername):

写属性,属性名:

username。

注意:

privatebooleanmarried;getMarried()===isMarried()

e、一般需要实现java.io.Serializable接口。

结论:

JavaBean在JavaEE开发中,主要担当封装数据用的。

十三、JSP中使用JavaBean

1、导入JavaBean:

用page指令的import

2、声明JavaBean:

3、获取属性:

如果属性是null,那么界面就显示null。

4、设置属性:

注意:

类型的转换问题

可以使用请求参数设置JavaBean的属性。

5、JavaBean的存活范围:

声明JavaBean时,指定scope属性。

默认值page,当前页面范围。

可选值:

page|request|session|application

总结:

JSP+JavaBean,开发模型,Model1(模型1)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1