jsp的视频看完了,我对里面的知识点进行了一下小结:
视频里主要讲了三大块内容:WebApplication,Servlet和JSP。
一.WebApplication
概念:
它在Servlet标准中的定义为在支持Servlet的Web服务器上以可移植方式建立的一组Servlet、JavaServer Pages(JSP)、 HTML文件、图象以及其它的一些Web资源。
文件结构:
二.Servlet
概念:
servlet是一个很广泛的概念,是任何可以在服务器端运行的小程序,而我们现在写的servlet是专门在http下运行的小程序。
生命周期:
1)通过web Container装载(J2EE的组件都是被动地装载入Container)并实例化Servlet对象;
2)调用init()方法(在整个生命周期中只被调用一次);
3)调用service()方法(在整个生命周期中可被调用多次);
4)调用destroy()方法(在整个生命周期中只被调用一次);
重要概念:
1.Cookie
原理:由于http协议的无连接性,所以网页中的参数需要保存下来。
原则:
1.服务器端可以向客户端写内容
2.只能是文本内容
3.客户端可以阻止服务器写入
4.只能拿自己webapp写入的东西
5.Cookie分为两种:
属于窗口/子窗口
属于文本(大家都能访问)
6.一个servlet/jsp设置的cookies能够被同一个路径下面或者子路径下面的servlet/jsp读到(路径是url,不是真实的路径)
2.Session
概念:在某段时间一连串客户端与服务器端的“交易”。
cookies与session区别
cookies是记录在客户端,session是记录在服务器端
session两种实现方式:
1.通过cookie实现(将sessionId写入到Cookie中)
2.通过url重写实现(加上response.encodeURL())
规则:
1.如果浏览器支持Cookie,创建Session的时候会把SessionID保存在Cookie里
2.如果不支持Cookie,必须自己编程使用URL重写的方式实现Session
3.Session不像Cookie拥有路径访问的问题
同一个application下的servlet/jsp可以共享同一个session,前提是同一个客户端窗口。
即通过servlet/ShowSession和ShowSession都可以访问
3.Application
1)用于保存WebApplication的生命周期内都可以访问的数据。
2)在API中表现为ServletContext。
3)通过HttpServlet的getServletContext方法可以拿到。
4)通过ServletContext的get/getAttribute方法取得般置相关属性。
4.JavaBean
概念:
狭义的JavaBean:图形界面的组件,一般的javabean都有一个图形界面的显示。
广义的JavaBean:Java的一个类。
一般说的JavaBean:一个类的属性名称第一个字母小写,一般具有getters and setters。
1)广义javabean=普通java类
2)狭义javabean=符合sunJavaBean标准的类
3)在servlet中使用Bean和在通常程序中使用Bean类似
属性名称第一个字母必须小写,比如:private productId
一般具有getter and setter,
但Bean不应具有GUI表现
一般是用来实现某一业务逻辑或取得特定结果
三.JSP(Java Server Pages)
概念:本身是一个servlet
特点:
1)拥有servlet的特性与优点
2)直接在HEML中内嵌Jsp代码
3)JSP程序由JSPEngine先将它转换成Servlet代码,接着将它编译成类文件载入执行
4)只有当客户端第一次请求JSP时,才需要将其转换、编译。
优点:
1.优良的性能:优于CGI,PHP,ASP
2.平台无关性:操作系统无关,Web服务器无关
3.可扩展性:tag的扩展机制,简化页面开发
基本语法:
1.Declaration
概念:声明全局变量,方法。
语法:<%! %>
2.Scriptlet
概念:存放Java程序代码
语法:<%程序代码%>
3.Expression
概念:赋值
语法:<%= %>
4.Comment
概念:注释
语法:<%-- --%>或<%// %>或<%/*……*/%>
5.Directives
Directive:
概念:Directive(编译指令)相当于在编译期间的命令
语法:<%@Directive 属性=“属性值”%>
page:
概念:指明与JSP Container的沟通方式
语法:
<%@page
[language="java" ]
[extends="package.class" ]
[import="{package.class | package.*}, ..." ]
[session="true | false" ]
[buffer="none | 8kb | sizekb" ]
[autoFlush="true | false" ]
[isThreadSafe="true | false" ]
[info="text" ]
[errorPage="relativeURL" ]
[contentType="mimeType [ ;charset=characterSet ]" | "text/html ;charset=ISO-8859-1" ]
[isErrorPage="true | false" ]
%>
Include:
概念:将指定的JSP程序或者HTML文件包含进来
6.Action
常见的Action:
1.jsp:include/jsp:param
2.jsp:forward/jsp:param
3.jsp:useBean
4.jsp:plugin
7.内置对象
1)输入输出对象:out,request,response
2)通信控制对象:pageContext,session,application
3)Servlet对象:page,config
4)错误处理对象:exception
各个对象常见的方法,大家可参见:http://wenku.baidu.com/view/8535c80c6c85ec3a87c2c503.html