jsp笔记.docx

上传人:b****8 文档编号:9217790 上传时间:2023-05-17 格式:DOCX 页数:26 大小:1.58MB
下载 相关 举报
jsp笔记.docx_第1页
第1页 / 共26页
jsp笔记.docx_第2页
第2页 / 共26页
jsp笔记.docx_第3页
第3页 / 共26页
jsp笔记.docx_第4页
第4页 / 共26页
jsp笔记.docx_第5页
第5页 / 共26页
jsp笔记.docx_第6页
第6页 / 共26页
jsp笔记.docx_第7页
第7页 / 共26页
jsp笔记.docx_第8页
第8页 / 共26页
jsp笔记.docx_第9页
第9页 / 共26页
jsp笔记.docx_第10页
第10页 / 共26页
jsp笔记.docx_第11页
第11页 / 共26页
jsp笔记.docx_第12页
第12页 / 共26页
jsp笔记.docx_第13页
第13页 / 共26页
jsp笔记.docx_第14页
第14页 / 共26页
jsp笔记.docx_第15页
第15页 / 共26页
jsp笔记.docx_第16页
第16页 / 共26页
jsp笔记.docx_第17页
第17页 / 共26页
jsp笔记.docx_第18页
第18页 / 共26页
jsp笔记.docx_第19页
第19页 / 共26页
jsp笔记.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

jsp笔记.docx

《jsp笔记.docx》由会员分享,可在线阅读,更多相关《jsp笔记.docx(26页珍藏版)》请在冰点文库上搜索。

jsp笔记.docx

jsp笔记

Jsp笔记

1)什么叫jsp?

1

2)jsp文件结构1

3)jsp编译过程1

4)jsp执行过程1

5)JSP最终都会转换为Servlet去执行。

2

6)JSP语法分为三种不同的类型2

7)脚本语法2

8)编译器指令2

9)jsp中的声明2

10)表达式2

11)脚本段2

12)包含指令3

13)page指令3

14)

forword>3

15)九种内置对象4

16)重点对象4

17)requset对象4

18)application对象4

19)其他三种对象4

20)request的setAttribute与getAttribute方法5

21)request的getParameter方法5

22)request对象内数据的存活范围5

23)session对象内数据的存活范围5

24)application5

25)RequestDispatcher请求转发6

26)sendRedirect重定向6

27)请求转发与重定向的区别。

6

28)application的getRealPath方法7

29)隐藏表单(hidden)7

30)javascript变量和方法声明7

31)在表单中调用javascript方法7

32)javascript中的document对象8

33)在javascipt中for循环,定义变量时var,不是int8

34)javascript取值用变量.value,取出值得长度用变量.value.length8

35)js实现全选和取消全选案例8

36)javabean9

37)javabean的特征9

38)访问javabean语法10

39)jsp:

setProperty10

40)JavaBean的存活范围11

41)servlet向jsp传递中文时解决乱码11

42)EL表达式(expressionlanguage)11

43)创建客户化JSP标签的步骤12

44)创建客户化JSP标签范例二14

45)属性文件***.properties16

1)什么叫jsp?

全名JavaServerPages

•在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页

•Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。

•所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。

2)jsp文件结构

3)jsp编译过程

JSP首先被转化为Servlet(Java文件),然后再被编译为class文件,最后由服务器调用

4)jsp执行过程

5)JSP最终都会转换为Servlet去执行。

6)JSP语法分为三种不同的类型

编译器指令(DIRECTIVE)例如:

<%@pageimport=“java.io.*”%>

脚本语法(SCRIPTING)

动作语法(ACTION)例如:

forward>,

getProperty>,

include>

7)脚本语法

–“HTML注释”:

—comments-->

–“隐藏注释”:

<%--comments--%>

–“声明”

–“表达式”

–“脚本段

8)编译器指令

•编译器指令包括“包含指令”,“页指令”和“taglib指令”

•它们包含在“<%@%>”卷标里。

•两个主要的指令是page与include。

9)jsp中的声明

JSP声明的格式:

<%!

inta=3;%>,脚本段的形式:

<%intb=3;%>,当服务器将JSP转换为Servlet时,会将JSP中的声明转换为类的成员变量,而将脚本段转换为方法中的局部变量,Servlet是单实例的,这样成员变量的值就只有一个,每个用户都会访问到它,而脚本段中的值则是局部变量,每个用户访问的时候各有一份,互不影响。

10)表达式

<%=表达式%>

11)脚本段

<%代码%>

12)包含指令

•include指令:

向当前页中插入一个静态文件的内容。

•JSP语法格式如下:

•<%@includefile="relativeURL"%>或

•<%@includefile="相对位置"%>

13)page指令

•“Page”指令用于定义JSP文件中的全局属性。

JSP语法格式如下:

<%@page

[language="java"]

[extends="package.class"]

[import="{package.class|package.*},..."]

[session="true|false"]

[isThreadSafe="true|false"]

[errorPage="relativeURL"]

[contentType="mimeType

[;charset=characterSet]"|"text/html;charset=ISO-8859-1"]

[isErrorPage="true|false"]

%>

有些包不需要我们导入:

java.lang.*javax.servlet.*javax.servlet.jsp.*

javax.servlet.http.*

14)

forword>

forward>指令用于转向页面,在该指令后面的所有代码都没有机会执行了,因为页面的流程已经转向了另外一个页面了。

案例:

页面一:

<%@pagecontentType="text/html;charset=gb2312"%>

test

forwardpage="forwardTo.jsp">

paramname="userName"value="riso"/>

forward>

页面二:

<%@pagecontentType="text/html;charset=gb2312"%>

--forwardTo.jsp-->

<%

StringuseName=request.getParameter("userName");

StringoutStr="谢谢光临!

";

outStr+=useName;

out.println(outStr);

%>

15)九种内置对象

•·request,请求对象

•·response,响应对象

•·pageContext,页面上下文对象

•·session,会话对象

•·application,应用程序对象

•·out,输出对象

•·config,配置对象

•·page,页面对象

•·exception,异常对象

16)重点对象

•request,请求对象(类型javax.servlet.ServletRequest)

•session,会话对象(类型javax.servlet.http.HttpSession)

•application,应用程序对象(类型javax.servlet.ServletContext)

17)requset对象

•“request”对象代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,是最常用的对象。

关于它的方法使用较多的是getParametergetParameterNames(获得参数的名字)和getParameterValues(获得某个参数所有的值),通过调用这几个方法来获取请求对象中所包含的参数的值。

注意:

getParameter方法是getParameterValues方法的特例,表示请求参数值只有一个,如果请求参数值有多个,请使用getParameterValue方法。

在多选框的情况下,需要使用getParameterValues方法来获取用户所选择的多个复选框的值。

18)application对象

•“application”对象负责提供应用程序在服务器中运行时的一些全局信息,常用的方法有getMimeType和getRealPath等。

19)其他三种对象

•“config”对象提供一些配置信息,常用的方法有

getInitParameter和getInitParameterNames,

以获得Servlet初始化时的参数。

•“page”对象代表了正在运行的由JSP文件产生

的类对象,不建议一般读者使用。

•“exception”对象则代表了JSP文件运行时所产

生的异常对象,此对象不能在一般JSP文件中直

接使用,而只能在使用了“<%@pageisErrorPage="true"%>”的JSP文件中使用

20)request的setAttribute与getAttribute方法

request的setAttribute与getAttribute方法一般都是成对出现的,首先通过setAttribute方法设置属性与属性值,然后通过getAttribute方法根据属性获取到与该属性对应的对象值(获取到之后一般都需要进行向下类型转换,将属性值转换为真正的对象)。

setAttribute与getAttribute方法都是在服务器端内部执行的,客户端不知道服务器端是否执行过这两个方法。

21)request的getParameter方法

request的getParameter方法的作用是获取到客户端通过表单或url请求参数所发送过来的参数值,是客户端与服务器端之间的交互,服务器端要想获取到客户端发送过来的数据,就需要使用getParameter方法来获取。

没有与getParameter方法对应的setParameter方法。

22)request对象内数据的存活范围

request对象内数据的存活范围就是在request对象的存活范围内,当客户端向服务器端发送一个请求,服务器向客户端返回一个响应后,该请求对象就被销毁了;之后再向服务器端发送新的请求时,服务器会创建新的request对象,该request对象与之前的request对象没有任何关系,因此也无法获得在之前的request对象中所存放的任何数据

23)session对象内数据的存活范围

session对象内数据的存活范围也就是session对象的存活范围(?

只要浏览器不关闭,session对象就会一直存在?

默认30分钟),因此在同一个浏览器窗口中,无论向服务器端发送多少个请求,session对象只有一个。

24)application

application(应用对象):

存活范围最大的对象,只要服务器没有关闭,application对象中的数据就会一直存在。

在整个服务器运行过程当中,application对象只有一个。

案例:

网站计数器

<%@pagecontentType="text/html;charset=gb2312"%>

网页计数器

<%if(application.getAttribute("counter")==null)

application.setAttribute("counter","1");

else{

Stringstrnum=null;

strnum=application.getAttribute("counter").toString();

inticount=0;

icount=Integer.valueOf(strnum).intValue();

icount++;

application.setAttribute("counter",Integer.toString(icount));

}%>

您是第<%=application.getAttribute("counter")%>位访问者!

25)RequestDispatcher请求转发

RequestDispatcher的forward(request,response)方法称作请求转发。

26)sendRedirect重定向

HttpServletResponse对象的sendRedirect(Stringlocation)方法称作重定向。

如果location地址前面加上“/”,则表示相对于Servlet容器的根来请求,即http:

//localhost:

8080,如果location地址前没有加上“/”,则表示相对于当前请求的URI来寻找地址。

27)请求转发与重定向的区别。

1)请求转发,整个过程处于同一个请求当中

2)重定向。

实际上客户端会向服务器端发送两个请求。

3)RequestDispatcher是通过调用HttpServletRequest对象的getRequestDispatcher()方法得到的,是属于请求对象的方法。

4)sendRedirect()是HttpServletResponse对象的方法,即响应对象的方法,既然调用了响应对象的方法,那就表明整个请求过程已经结束了,服务器开始向客户端返回执行的结果。

5)重定向在FireBug中的示意图

28)application的getRealPath方法

方法签名:

StringgetRealPath(Stringpath)

aStringspecifyingtherealpath,ornullifthetranslationcannotbeperformed

request.getSession().getServletContext().getRealPath(“/文件名”)

29)隐藏表单(hidden)

向导式注册信息尽量藏表单(hidden),而不用session

这是最常见的一种方式,也是最简单的,但有时该技巧非常管用,形如:

通过隐藏表单,我们也可以将一个页面信息,传递给另外的页面

30)javascript变量和方法声明

var变量;

function方法名(){}

注:

在jsp中使用javascript需要先声明

javascript方法

31)在表单中调用javascript方法

例如:

onsubmit="returnvalidate()"、onclick="returnvalidate()",如果将数据送到服务器需要return,否则不用return。

32)javascript中的document对象

1.document.getElementById(Stringelementid)返回指定id值

2.document.getElementsByName(Stringelementname)返回指定name变量,返回类型nodelist,要用循环取出

3.document.getElementsByTagName(Stringtagname)返回指定tag变量,返回类型modelist,要用循环取出

33)在javascipt中for循环,定义变量时var,不是int

34)javascript取值用变量.value,取出值得长度用变量.value.length

35)js实现全选和取消全选案例

<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

functionselectAll()

{

varall=document.getElementsByName("allMials")[0];

varemail=document.getElementsByName("email");

if(all.checked)

{

for(vari=0;i

{

email[i].checked=true;

}

}

else

{

for(vari=0;i

{

email[i].checked=false;

}

}

}

全选






36)javabean

JavaBean是一种可重复使用、且跨平台的软件组件。

JavaBean可分为两种:

一种是有用户界面(UI,UserInterface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。

JSP通常访问的是后一种JavaBean。

37)javabean的特征

–JavaBean是一个公共的(public)类

–JavaBean有一个不带参数的构造方法

–JavaBean通过setXXX方法设置属性,通过getXXX方法获取属性

38)访问javabean语法

•1).导入JavaBean类

通过<%@pageimport>指令导入JavaBean类,

例如<%@pageimport="mypack.CounterBean"%>

•2).声明JavaBean对象

useBean>标签用来声明JavaBean对象,

例如

useBeanid="myBean"class="mypack.CounterBean"scope="session"/>

useBeanid="myBean_1"class="mypack.CounterBean"scope="session"/>

•3).访问JavaBean属性

getPropertyname="beanInstanceName"property="propertyName"/>

属性:

1).name="beanInstanceName"bean的名字,由

useBean>指定。

2).property="propertyName"指定的Bean的属性名。

39)jsp:

setProperty

可以在

setProperty>中通过param参数为bean的属性动态赋值。

对应的Servlet代码是:

40)JavaBean的存活范围

41)servlet向jsp传递中文时解决乱码

request.setCharacterEncoding("utf-8");或者

变量名=newString(变量名.getBytes(”iso-8859-1”),”utf-8”)

42)EL表达式(expressionlanguage)

默认对象:

43)创建客户化JSP标签的步骤

(1)创建标签的处理类

标签处理类必须扩展以下两个类之一:

–javax.servlet.jsp.tagext.TagSupport

–javax.servlet.jsp.tagext.BodyTagSupport

packagecom.shengsiyuan.tag;

importjava.io.IOException;

importjavax.servlet.jsp.JspException;

importjavax.servlet.jsp.tagext.TagSupport;

publicclassMyTagextendsTagSupport

{

@Override

publicintdoStartTag()throwsJspException

{

try

{

//向页面输出字符串

this.pageContext.getOut().println("helloworld");

}

catch(IOExceptione)

{

e.printStackTrace();

}

returnEVAL_BODY_INCLUDE;

}

@Override

publicintdoEndTag()throwsJspException

{

try

{

this.pageContext.getOut().println("welcome");

}

catch(IOExceptione)

{

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

returnEVAL_PAGE;

}

}

(2)创建标签库描述文件(创建以.tld结尾的文件)

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEtaglibPUBLIC"-//SunMicrosystems,Inc.//DTDJSPTagLibrary1.2//EN""

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2