JSP文章目录
学习JSP页面之前应该先学习HTML和Java。
JSP介绍
JSP(Java Server Pages)由Sun公司开发的一种动态网页技术标准,以HTML为主在嵌入Java代码来实现WEB应用的界面功能,可以跨平台,一次编写多处运行,运行在服务器端的脚本语言,支持多种网页的格式,它的本质就是一个Servlet(Java文件)具有预编译功能,JSP文件后缀为*.jsp。
JSP的执行过程:
1、翻译:服务器收到请求时,将JSP文件翻译,在通过JSP引擎转换为Java代码。
2、编译:将转换好的Java源文件在编译成可执行的字节码.class文件。
3、执行:Web容器会得到请求的处理结果,并把结果返回鬼客户端显示。
JSP页面组成
JSP常见错误
请求和响应
Request请求
浏览器发送的每一次请求都会创建一个Request对象。
request常用方法如下:
Response响应
服务器在响应客户端的每次请求时都会创建一个Response对象。
response常用方法如下:
转发和重定向的区别
转发: request.getRequestDispatcher(“跳转页”).forward(request,response);
在服务器通过forward()将信息提交转发,浏览器地址栏信息地址不变,数据并不会随着转发丢失,只能在同一个项目中跳转,是一次请求。
重定向: response.sendRedirect(“跳转页”);
在浏览器通过请求新的地址信息跳转,地址栏会显示跳转后的地址信息,数据会丢失,能跨域访问,是两次请求。
Session和Cookie
Session
Session会话介绍:
HTTP协议是无状态协议,每个HTTP请求都是独立的,服务器并不会保存是谁的请求,因此每次请求都是新的对象,在开发中,希望服务器能记录保存访问过的用户,那么Session能够记录访问记录。
Session会话机制:
服务器会为每个客户创建一个Session对象,用于存放保存数据,在创建时,服务器会为每个对象生成一个唯一编号叫做SessionID,然后服务器会以Cookie的方式将SessionID存放在客户端,当再次访问服务器时,会将SessionID作为Cookie信息带到服务器,在通过该SessionID检索到session对象,进行访问。
(服务器会先检查客户端的请求是否有这个SessionID,如果有则说明为此客户端创建过Session,服务器就按照SessionID检索出使用,如果检索不到则会新建一个Session)
Session会话生命周期:
用户打开浏览器,访问服务器资源,在关闭浏览器,代表一次会话。
Session失效方式
1、设置失效时间,服务器会将超过时间并没有活动过的Session从服务器中删除,此时Session就会失效。
在web.xml文件中设置加入此代码:
<session-config>
<session-timeout>以分钟计算</session-timeout>
</session-config>
2、调用session对象中invalidate()方法立即失效。
3、session可以自动失效。
include指令: <%@ include file=”路径” %>将另一个页面导入当前页面。
下图是Session会话的方法:
Cookie
Cookie介绍
由Netscape公司发明,用于跟踪用户会话的方式,由服务器生成,可以实现客户端与服务器之间的数据传递,在由客户端保存到某个目录下的文本文件。
Cooke作用
对特定的对象进行追踪,统计网页的访问次数,时间,路径,保存登录信息,针对不同用户展示的不同内容进行个性化服务,不建议在Cookie上保存重要信息,它是共享的。
Cookie创建
Cookie cookie = new Cookie (String key,String value);
// Cookie类在Javax.servlet.http包中, key是Cookie名自己定义,value是key对应的值
Cookie读取
通过Response的addCookie()方法把Cookie写入,在用Request的getCookies()方法读取,要用遍历的方式进行读取,Cookie是通过键值对象进行保存的,遍历时要先调用Cookie对象的getName()方法对名称检查,直至找到要用的Cookie,在调用Cookie对象的getValue()方法获取与名称对应的值。
Cookie有效期
可以通过setMaxAge(int expiry)方法来设置Cookie的有效期,只有在有效时间内才可以读取,失效后会被客户端清除。
Cookie常用方法
Session和Cookie的区别
JSP内置对象
内置对象: 由WEB容器加载的一组ServletAPI实例,无需自己手动创建,在JSP中可以直接使用。
pageContext对象和Application对象的常用方法如图:
四大作用域
作用域: 在一定范围内使用。
菜鸟。