jsp内置对象

request对象

访问请求参数:<a href="delete.jsp?id=1">删除</a>   <% request.getParameter("id") %>

在作用域中管理属性:request.setAttribute(String name,Object object);

                                  request.getAttribute(String name);

保存cookie:

<%@ page import="java.net.URLEncoder"%>
<%
	request.setCharacterEncoding("utf-8");

	String user=URLEncoder.encode(request.getParameter("user"),"utf-8");	//获取用户名
	Cookie cookie = new Cookie("mrCookie", user+"#"+new java.util.Date().toLocaleString());
	cookie.setMaxAge(60*60*24*30);		                                //设置cookie有效期30天
	response.addCookie(cookie);	                                        //保存cookie
%>

获取cookie:

<%@ page import="java.net.URLDecoder" %>
<%
	Cookie[ ]   cookies = request.getCookies();//从request中获得Cookie对象的集合
	String user = "";	                   //登录用户
	String date = "";	                   //注册的时间
	if (cookies != null) {
		for (int i = 0; i < cookies.length; i++) {	            //遍历cookie对象的集合
			if (cookies[i].getName().equals("mrCookie")) {      //如果cookie对象的名称为mrCookie
				user = URLDecoder.decode(cookies[i].getValue().split("#")[0]);//获取用户名
				date = cookies[i].getValue().split("#")[1]; //获取注册时间
			}
		}
	}
	if ("".equals(user) && "".equals(date)) {                           //如果没有注册
%>
解决中文乱码问题:
<%=new String(request.getParameter("name").getBytes("iso-8859-1"),"UTF-8") %>
获取客户端信息:
方法说明
getHeader(String name)获得HTTP协议定义的文件头信息
getHeaders(String name)返回指定名字的request Header的所有值,其结果是一个枚举型的实例
getHeadersNames()返回所有request Header的名字,其结果是一个枚举型的实例
getMethod()获得客户端向服务器端传送数据的方法,如get、post、header、trace等
getProtocol()获得客户端向服务器端传送数据所依赖的协议名称
getRequestURI()获得发出请求字符串的客户端地址,不包括请求的参数
getRequestURL()获取发出请求字符串的客户端地址
getRealPath()返回当前请求文件的绝对路径
getRemoteAddr()获取客户端的IP地址
getRemoteHost()获取客户端的主机名
getServerName()获取服务器的名字
getServletPath()获取客户端所请求的脚本文件的文件路径
getServerPort()获取服务器的端口号
显示国际化信息:
<%
java.util.Locale locale = request.getLocale();
String str = "";
if(local.equals(java.util.Locale.US)){
    str="Hello, welcome to access our company's web!"
}
if(local.equals(java.util.Locale.CHINA)){
    str="您好,欢迎访问我们公司网站!"
}
%>
response对象

重定向网页:response.sendRedirect(String path);

处理HTTP文件头:

/*禁用缓存*/
<%
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
%>
/*设置页面自动刷新*/
<%
response.setHeader("refresh","10");
%>
/*定时跳转网页*/
<%
response.setHeader("refresh","5;URL=login.jsp");
%>
设置输出缓冲:

1.jsp页面的输出信息已经全部写入到缓冲区

2.缓冲区已满

3.在jsp页面中,调用了response对象的flushBuffer()方法或out对象的flush()方法。

方法说明
flushBuffer()强制将缓冲区的内容输出到客户端
getBufferSize()获取响应所使用的缓冲区的实际大小,如果没有使用缓冲区,则返回0
setBufferSize(int size)设置缓冲区的大小
reset()清除缓冲区的内容,同时清除状态码和报头
isCommitted()检测服务器端是否已经把数据写入到客户端
session对象
session对象可以在应用程序的web页面进行跳转时,保存用户的状态,使整个会话一直存在下去,直到关闭浏览器。

1.创建及获取客户的会话:

session.setAttribute(String name,Object obj);

session.getAttribute(String name);

2.从会话中移动指定的绑定对象:

session.removeAttribute(String name);

3.销毁session对象:

session.invalidate();

session对象被销毁之后,将不可以再使用该session对象了。

4.会话超时管理

sessions.getLastAccessedTime():返回客户端最后一次与会话相关联的请求时间

session.getMaxInactiveInterval():以秒为单位返回一个会话内两个请求最大时间间隔

session.setMaxInactiveInterval():以秒为单位设置session的有效时间

application对象
在服务器启动时自动创建,在服务器停止时销毁。

应用程序初始化参数在web.xml文件中进行配置:

<context-param>
    <param-name>url</param-name>
    <param-value>jdbc:mysql://127.0.0.1:3306/db_database</param-value>
</<context-param>>
两种访问应用程序初始化参数的方法:
1.application.getInitParameter("url");

2.application.getAttributeNames();

<%@page import="java.util.*"%>
<%
Enumeration enema = application.getInitParameterNames();
while(enema.hasMoreElements()){
    String name = (String)enema.nextElement();
    String value = application.getInitParameter(name);
}
%>

管理应用程序环境属性:

1.    application.getAttributeNames():获得所有application对象使用的属性名

2.    application.getAttribute(String name):从application对象获取指定对象名(获取obj)

3.    application.setAttriute(String key, Object obj):使用指定名称和指定对象在application对象中进行关联

4.    application.removeAttribute(String name):从application对象中去掉指定名称的属性

out对象
1.显示换行
<pre>
<%
out.println(3.14159);
out.println("无语");  //显示在页面,并不能看到气候的文字真的换行了,需要<pre>标记。
%>
</pre>   

2.管理响应缓冲

管理缓冲区的方法
方法说明
clear()清除缓冲区中的内容(如果响应已经提交,则会产生IOException异常)
clearBuffer()清除缓冲区中的内容(即使响应已经提交,也能使用该方法
flush()刷新流
isAutoFlush()检测当前缓冲区已满时是否自动清空,还是抛出异常
getBufferSize()获取缓冲区大小
pageContext对象(一般不用)
获取页面上下文,即可以获取jsp页面的request、response、session、application、exception等对象。
config对象
获得服务器的配置信息。通过pageContext对象的getServletConfig()方法可以返回一个config对象。当一个Servlet初始化时,容器把某些信息通过config对象传递给这个Servlet.
常用方法
方法说明
getServletContext()获得Servlet上下文
getServletName()获得Servlet服务器名
getInitParameter()获得服务器所有初始参数名称,返回值为java.util.Enumeration对象
getInitParameterNames()获得服务器中name参数的初始值
page对象
page对象代表jsp本身,只有在jsp页面内才是合法的。
page对象的常用方法
方法说明
getClass()返回当前Object的类
hashCode()返回该Object的哈希代码
toString()把该Object类转换成字符串
equals(Object o)比较该对象和指定的对象是否相等
exception对象
只有在page指令设置为isErrorPage属性值为true的页面才可以被使用,如果在jsp页面中出现没有捕捉到的异常,就会生成exception对象,并把exception对象传送到在page指令中设定的错误页面中,然后在错误页面中处理响应的exception对象。
exception对象的常用方法
方法说明
getMessage()返回exception对象的异常信息字符串
getLocalizedmessage()返回本地化的异常错误
toString()返回关于异常错误的简单信息描述
fillInStackTrace()重写异常错误的栈执行轨迹
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值