JSP的九大内置对象
来源:互联网 发布:linux时钟中断 编辑:程序博客网 时间:2024/05/22 17:05
首先要先了解web服务器的运行原理(网上有)
1.application对象
通常将web应用的状态数据放入application中.
作用:(1)在整个Web应用的多个JSP,Servlet之间共享数据(交换信息)
(2)访问Web应用的配置参数(web.xml中的配置信息)
作用范围:整个Web应用有效
方法:setAttribute(String attName,String attValue),getAttribute(String attName)
getInitParameter(String parameterName).
例如:在web.xml配置如下信息
<!-- 在application中可以得到这些配置信息 -->
<!-- 配置第一个参数:driver -->
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
可以在jsp中如下获取
String driver=application.getInitParameter("driver");
2.config对象
配置信息.Servlet中相对较大
3 exception对象
用处如下:A.jsp的page
<%@page errorPage="error.jsp"%>
error.jsp是A.jsp的异常跳转页面
在error.jsp中的page
<%@page isErrorPage="true"%>
exception.getClass()可以获得异常的类型
exception.getMessage()可以获得异常的信息
4.request对象(JSP中重要的内置对象)
作用范围:一次请求中有效.
一般是获取form表单中的数据
form表单中的的加密方法分为post和get方法
区别在于当method="get"是,参数会随着url传递到其他页面
如URL?param1=value1¶n2=value2......paramN=valueN
而method="post"时,不会显示的传递参数
在这里说一个自己遇到的问题,当参数的值是中文时,可能会出现乱码问题.我查了多种方法,找到了一个自己认为稍微简单的方法,写一个函数如下
<%!
public String handleStr(String s){
try{
byte []bb=s.getBytes("ISO-8859-1");
s=new String(bb,"gb2312");
}catch(Exception e){}
return s;
}
%>
这个函数的作用是先将s变成字节,在将字节按照指定的编码重新编码,最后返回.
request范围属性
HttpServletRequset包含两个方法,用于设置和获取request范围属性
setAttribute(String attName,Object attValue),attValue设置成request范围的属性
Object getAttribute(String attName),获取request范围的值
当forward用户请求时,请求的参数和请求的属性都不会丢失.
注:forward和response.sendRedirect()的区别
forward的目标页面可以访问原请求页面的请求参数.URL地址不会改变
response.sendRedirect(url)简单理解就是第二次请求,请求参数和request范围的属性全部丢失.
4.session对象
HTTP协议是一种无状态的协议,简单说就是客户端发送请求,服务器端响应.
但是在实际中,客户端和服务器需要保存某种联系
这种联系的保持,就衍生了session(服务器保持状态)和cookie(客户端保持状态).
同样有setAttribute(String key,Object obj)和public Object getAttrubute(String key)方法.
public void removeAttribute(String name):session对象调用该方法移除关键字key对应的对象
public Enumeration getAttributeNames():session对象调用该方法产生一个枚举,该枚举对象使用
nextElemets()遍历session中的各个对象所对应的关键字.
- //获取session
- HttpSession session = request.getSession();
- // 获取session中所有的键值
- Enumeration<?> enumeration = session.getAttributeNames();
- // 遍历enumeration中的
- while (enumeration.hasMoreElements()) {
- // 获取session键值
- String name = enumeration.nextElement().toString();
- // 根据键值取session中的值
- Object value = session.getAttribute(name);
- // 打印结果
- System.out.println("<B>" + name + "</B>=" + value + "<br>/n");
- }
- JSP:JSP的九大内置对象
- jsp的九大内置对象
- jsp的九大内置对象
- jsp的九大内置对象
- JSP的九大内置对象
- JSP的九大内置对象
- jsp的九大内置对象
- jsp的九大内置对象
- JSP的九大内置对象
- JSP的九大内置对象
- jsp的九大内置对象
- JSP的九大内置对象简述
- jsp的九大内置对象
- jsp的九大内置对象
- JSP的 内置九大对象
- jsp的九大内置对象
- JSP 的九大内置对象
- JSP九大内置对象的总结
- MongDB分页java实现
- caffe绘制训练过程的loss和accuracy曲线
- 博客迁移
- 通过目录处理函数实现文件浏览功能
- jQuery工具方法中的判断方法
- JSP的九大内置对象
- mysql主从配置
- php实例化类
- iTunes 12.7 没有应用程序选项了,还能好好地打包吗?
- webpack实战——(2)基本配置
- 注解实现AOP(获取输入及返回参数)
- web客户端 向 wcf rest服务端 上传文件
- php使用对象
- (补充)数据库设计原则之三大范式