Java Server Pages---初识JSP

初识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对象

  1. 在第一个JSP页面被装载时自动创建,完成会话期管理。
  2. 从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个回话。
  3. 当一个客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象。
  4. session对象就是HttpSession类的实例。
    这里写图片描述

销毁Session的三种方式:
1. 调用session.invalidate()方法
2. Session过期(超时)
3. 服务器重新启动

设置会话时间:
session.setMaxInactiveInterval(时间);单位秒
web.xml

<session-config>
<session-timeout>
10
</session-timeout>
</session-config>

application对象

  1. 实现了用户间的数据共享,可存放全局变量
  2. 开始于服务器的启动,终止于服务器的关闭
  3. 在用户的前后连接或不同用户之间的连接中可以对application对象的同一属性进行操作
  4. 在任何地方对application对象属性的操作都将影响到其他用户对此的访问
  5. 服务器的启动和关闭决定了application对象的生命
  6. 是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的对比

Session
1. 在服务器端保存用户信息
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>一起使用,作为其的子标签
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值