您的位置:首页 > 编程语言 > Java开发

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的对比

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>一起使用,作为其的子标签
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: