Java Server Pages---初识JSP
2018-02-20 10:10
567 查看
初识JSP
在互联网时代,知识是不断获取的,作者本人接下来要对后台的开发知识着手慢慢的积累,接下来从JSP入手。JSP内置对象
out内置对象
如果所示常用的内置对象示例:<form action="提交给action处理" name="名字" method="get/post方式">
request对象
客户端的请求信息被封装在request对象中,通过他才能了解到客户的需求,然后做出相应。request.setCharacterEncoding(“utf-8”); 设置编码格式
response对象
response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到。PrintWriter对象打印的时候提前于内置的out对象除非用out.flush();方法
请求重定向和请求转发区别:
前者是客户端的行为,response.sendRedirect(),本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址不会变。
后者是服务器的行为,request.getRequestDispatcher().forward(req,resp);是一次请求,转发后请求对象会被保存,地址栏的URL地址不改变。
session对象
在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个回话。
当一个客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象。
session对象就是HttpSession类的实例。
销毁Session的三种方式:
1. 调用session.invalidate()方法
2. Session过期(超时)
3. 服务器重新启动
设置会话时间:
session.setMaxInactiveInterval(时间);单位秒
web.xml
<session-config> <session-timeout> 10 </session-timeout> </session-config>
application对象
实现了用户间的数据共享,可存放全局变量开始于服务器的启动,终止于服务器的关闭
在用户的前后连接或不同用户之间的连接中可以对application对象的同一属性进行操作
在任何地方对application对象属性的操作都将影响到其他用户对此的访问
服务器的启动和关闭决定了application对象的生命
是ServletContext类的实例、
page对象
page对象就是指当前jsp页面本身,有点像类中的this指针,他是java.lang.Object类的实例。pageContext对象
1. 提供了对JSP页面内所有的对象及名字空间的访问
2. 可以访问本页所在的session,也可以取本页面所在的application的某一属性值
3. 相当于页面中所有功能的集大成者
4. 本类名也叫pageContext
Config对象
是在一个Servlet初始化时,JSP引擎向他传递信息用的,此信息包括Servlet初始化时所用道的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)ServletContext getServletContext();返回还有服务器相关信息的ServletContext对象
String getInitParameter(String name)返回初始化参数的值
Enumeration getInitParameterNames() 返回Servlet初始化所需所有参数的枚举
exception对象
是一个异常对象,当一个页面运行过程中发生了一场,就产生这个对象。如果一个JSP页面要应用此对象,就必须吧isErrorPage设为true,否则无法编译。Javabean
javabeans就是符合某种特定的规范Java类。使用Javabeans的好处就是解决代码的重复编写,减少代码冗余,功能区分明确,提高了代码的维护性。
Javabean的设计原则
公有类
属性私有
无参的共有构造方法
getter和setter方法
Jsp动作元素
动作元素请求处理阶段提供信息。动作元素遵循XML元素的语法。
useBeans动作:
<jsp:useBeans> 作用:在jsp页面中实例化或者在指定范围内使用javabean <jsp:useBean id="标示符" class="java类名" scope="作用范围"/>
setProperty动作
<jsp:setProperty name="JavaBean实例名" property="*"/> 跟表单相关联自动匹配所有属性 <jsp:setProperty name="JavaBean实例名" property="password"/> 跟表单相关联自动匹配部分属性 <jsp:setProperty name="JavaBean实例名" property="password" value="123456"/> 跟表单无关,手动赋值 <jsp:setProperty name="JavaBean实例名" property="password" param="url上的value"/> 通过url传参数给属性赋值
getProperty动作
<jsp:getProperty name="JavaBean实例名" property="password"/>
Javabean四个作用域范围
使用useBeans的scope属性可以指定javabean的作用范围
1. page //当前页有效
2. request 通过HttpRequest.getArrtibute()方法获取
3. session HttpSession.getArrtibute()方法获取
4. application
从上到下,作用于范围依次增大
JSP状态管理
保存用户状态的两大机制1. Session
2. Cookie
Cookie是WEB服务器保存在客户端的一系列文本信息
作用:
1. 对特定对象的追踪
2. 保存用户网页浏览记录与习惯
3. 简化登陆
同时存在容易泄露用户信息的风险
JSP创建与使用Cookie
创建Cookie对象 Cookie new Cookie=new Cookie(String key,Object value); 写入Cookie对象 response.addCookie(new Cookie); 读取Cookie对象 Cookie[] cookies=request.getCookies();
常用方法:
void setMaxAge(int expiry); 设置cookie有效期,单位:秒
void setValue(String value); cookie创建后对cookie进行赋值
String getName(); 获取cookie名称
String getValue(); 获取cookie的值
int getMaxAge(); 获取cookie的有效时间,单位:秒。
Cookie与Session的对比
Session1. 在服务器端保存用户信息
2. 保存的是Object类
3. 随绘画的结束而将其存储数据销毁
4. 保存重要的信息
Cookie
1. 在客户端保存用户信息
2. 保存的是String类型
3. 可以长期保存在客户端
4. 保存不重要的用户信息
指令与动作
include指令
<%@ include file="URL"%>
include动作
<jsp:include page="URL" flush="true|false"/> page:被包含的页面 flush:被包含的页面是否从缓冲区读取
include指令与动作区别
forward动作
做一个跳转的动作<jsp:forward page="URL"/> 等同于 request.getRequestDispatcher("/url").forward(request,response);
param动作
一个携带修改操作的跳转<jsp:param name="参数名" value="参数值"> 常与 <jsp:forward>一起使用,作为其的子标签
相关文章推荐
- JSP--初识Java Server Pages
- 【java学习】JSP(Java Server Pages)
- JSP(Java Server Pages)总结
- JSP--Java server Pages
- JSP 2.0 真是BT阿!不过看起来挺方便的.(Developing Web Applications With JavaServer Pages 2.0)
- JSP(Java Server Pages)
- JSP(Java Server Pages)——内置对象request+Cookie
- JSP(Java Server Pages)
- JSP-- Java Server Pages 笔记
- JSP(Java Server Pages)动态网页开发技术1
- Servlet、JavaServer Pages(JSP) 技术
- JavaServer Pages(JSP)和微软Active Server Pages技术比较
- JSP--Java Server Pages
- JSP(Java Server Pages)的9大内置对象
- JSP-Java Server Pages(Java服务器页面)<二>
- JSP(JavaServer Pages)不是Java Script(JS)
- JSP-Java Server Pages(Java服务器页面)<一>
- js入门(js(JavaScript)和jsp(Java Server Pages)的区别)
- 什么是JSP(JavaServer Pages)技术?
- 什么是JSP(JavaServer Pages)技术?