jsp 内置对象

http://www.cnblogs.com/Qian123/p/5271973.html

9大内置对象,5大常用对象

JSP有九大内置对象:

  • 五大常用对象: out、request、response、session、application
  • 其它四个不常用对象:page、pageContext、exception、config

1.out对象

缓冲区:Buffer,所谓缓冲区就是内存的一块区域用来保存临时数据。

out对象是JspWrite类的实例,是向客户端(浏览器)输出内容常用的对象。

常用方法如下:

在执行flush方法之后再执行clear方法,会抛出异常。则clear方法之后的程序就不会继续执行了。

  • out.clearBuffer()

如果flush方法之后再调用clearBuffer(),是不会抛出异常的。

2.post get 提交方式的区别

get:明文方式通过URL提交数据,大小有显示,但是速度快,安全性低的功能,如搜索,查询

post:将提交的数据封装到HTML HEADER中,适合数据量大,安全性高的功能,如注册,修改,上传

 

3.Request对象

封装客户端的请求信息

解决中文乱码问题:

request.setCharacterEncoding(“utf-8”);//解决post请求传递中文参数的乱码问题,设置的编码要与发送请求的页面的编码设置的一致。但是无法解决URL链接传递中文参数的乱码问题。

通过路径URL传参(get方式)出现中文乱码问题。

此时解决get方式传递中文参数需要在tomcat的server.xml中,在connector标签添加属性URIEncoding="utf-8"

 

setAttribute()设置属性时是以键值对的形式

getAttribute()获取属性只需要输入键的值,就可以获得属性的值。

请求体的MIME类型:<%=request.getContentType() %><br>
协议类型及版本号:<%=request.getProtocol() %><br>
服务器主机名:<%=request.getServerName() %><br>
服务器端口号:<%=request.getServerPort() %><br>
请求文件的长度:<%=request.getContentLength() %><br><!--单位是字节-->
请求客户端的IP地址:<%=request.getRemoteAddr() %><br><!--//只能获取静态的IP地址,动态的话获取不到-->
请求的真实路径:<%=request.getRealPath("request.jsp") %><br>
请求的上下文路径:<%=request.getContextPath() %><br><!--是项目的虚拟路径-->

运行结果:

 

4.response对象

实例:

运行结果:

response对象获得的是PrintWriter对象,输出在内置对象out 前面。(printwriter输出流对象提前于out对象输出)

运行结果:

说明:out对象的输出晚于PrintWrite对象的输出,可以利用out.flush() 将printWrite对象的输出靠后。(利用flush()清空缓存区强制输出。)

response 的sendRedirect("..jsp")//请求重定向(相当于让客户端发一个新的请求,让这个请求定位到指定页面)

 

请求重定向与请求转发的区别

举个生活中的例子:

1请求重定向是客户器端行为而请求转发是服务器端行为
2请求重定向相当于两次请求,地址栏地址会发生变化 
3重定向是response对象的方法而请求转发是request对象的方法 
4请求重定向不会保存原有的request对象而请求转发会保存原有的request对象

 

什么是session

1、session表示客户端与服务器的一次会话
2、Web中的session指:用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。
3、从上述定义中可以看到,session实际是一个【特定的时间概念】

举个生活中的实例:

在服务器的内存中保存着不同用户的session。即session是保存在服务器的内存中,是与用户一一对应的。

 

 

session对象

 

 

session对象常用方法如下:

 

 

具体实例:

 

 

session的生命周期

session的生命周期大致可分为三个阶段:创建、活动、销毁。

  • 创建:

  • 活动:

  • 销毁:

session的超时时间:

application对象

application对象属于服务器,不属于具体的某个项目。

常用方法:

 具体示例:

运行结果:

注:setAttribute方法参数第一个为字符串,第二个参数为需要保存的对象

 

page对象

以上方法基本上就是object类的常用方法。

如:

运行结果:

对上述结果进行分析:
在apache-tomcat-6.0.37\work\Catalina\localhost \JspSessionLifeCycleDemo\org\apache\jsp\page_jsp.java文件中有个page_jsp 类,@a010ba为HashCode码。

page.toString()是将页面的类的位置加上它的hashcode打印出来

 

pageContext对象和Config对象

 6.1、pageContext对象

常用方法:

 6.2、Config对象

 

exception对象

 

使用方法:
1、在可能会抛出异常的页面page指令里,设置errorPage="xxx.jsp",表示出现异常将抛给xxx页面去处理
2、在xxx页面里,要使用Exception对象,需要把page指令里的isErrorPage属性设置为true。

比如:errorPage="exception.jsp";表示如果当前页面出现异常,交给exception.jsp页面处理异常,在exception.jsp中使用isErrorPage=“true” 来显示是处理异常页面。

常用方法:getMessage()和toString()方法

 

阶段案例

具体实现步骤:

①先将登陆界面的静态页面写好。界面如下:

②实现具体的登陆功能:

Login.jsp

doLogin.jsp

 

posted @ 2017-06-06 10:16  张主任好  阅读(243)  评论(0)    收藏  举报