总结JSP的定义,主要页面元素及内置对象的概念和使用方式。

1 篇文章 0 订阅
1 篇文章 0 订阅

JSP定义:
JSP全名为Java Server Pages,中文名叫Java服务器页面,
其根本是一个简化的Servlet设计,他在传统的网页HTML文件中插入Java程序段和JSP标记,从而形成JSP文件。JSP和Servlet一样,是在服务器端执行的。
通常返回给客户端的就是一个HTML文件,因此客户端只要有浏览器就能浏览。
主要页面元素:

在这里插入图片描述

内置对象的概念和使用方式:
  • (1)request对象

1.访问请求参数:

request.getParameter("n")

2.在作用域中的管理属性:
在请求转发时,需要把数据传递到转发后的页面进行处理,可以将数据保存:

request.setAttribute(string name,Object object )

当保存到request范围内的变量中后,获取该变量的值:

request.getAttribute(String name)

3.获取cookie
通过cookie的getCookie()方法可以获取cookie的对象集合;

Cookie[] cookies=request.getCookie;//从request中获得Cookie对象的集合

通过cookie对象的getName()方法可以获取指定名称的cookie;

cookies[i].getName().equals(“mrCookie”);//cookie对象的名称为mrCookie

通过getValue()方法即可以获得cookie对象的值;

Data=Cookies[i].getValue().split(“#”)[1];//获取注册时间

另外,将cookie对象发送到客户端,使用response对象的addCookie()方法。

Response.addCookie(cookie);//保存cookie。

4.解决中文乱码
将获取的数据通过String的构造方法使用指定的编码类型重新构造一个String对象,即可正确的显示中文信息。
例:index.jsp页面加入一个超链接,并在超链接在加入两个参数,分别为name与sex,其值都为中文。

<body><a href=”show.jsp?name=张三&sex=男”>解决中文乱码</a></body>

创建show.jsp页面,将其中一个参数的值进行编码转换比较效果另一个直接显示在页面,比较结果。

<body>
Name的参数:
<%=new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),””UTF-8)%>//可以正常显示
Sex的参数:<request.getParameter(“sex”)%>//显示乱码
</body>

5.获取客户端信息

方法说明
request.getHeader(String name)获得HTTP协议定义的头文件信息
request.getHeaders(String name)返回指定名字的request Header的所有值,其结果是一个枚举型实例
request.getHeadersNames()返回所有的request Header的所有值,其结果是一个枚举型实例
request.getMethod()获取客户端向服务器传送数据的方式,如get\post\header\trace等
request.getProtocol()获取客户端向服务器传送数据所依据的协议名称
request.getRequestURI()获得发出请求字符串的客户端地址,不包括请求参数(/6.05/index.jsp)
request.getRequestURL()获得发出请求字符串的客户端地址(http://localhost8080/6.05/index.jsp)
request.getRealPath()返回当前请求文件的绝对路径
request.getRemoteAddr()获取客户端的IP地址
request.getRemoteHost()获取客户端的主机名
request.getServerName()获取服务器的名字(localhost)
request.getServerPath()获取客户端请求脚本文件的文件路径(/index.jsp)
request.getServerPort()获取服务器的端口号(8080)

6.显示国际化信息

request对象中的getLocale()和getLocales()方法允许JSP开发人员获取这一信息,获取的信息属于java.util.Locale类型。java.util.Locale类型的对象封装了一个国家和国家所用的一种语言。
<%
Java.util.Locale locale=request.Locale();
String str=””;
If(locale.equals(Java.util.Locale.US)){
Str=”Hello,welcome to access our company’s web!;
}
If(locale.equals(Java.util.Locale.CHINA)){
Str=”您好,欢迎访问我们公司的网站!;
}
%>
<%=str%>

//所在的区域不同则显示的信息不同

  • (2)response对象

resonse对象用于响应客户请求,向客户端输出信息。他封装了JSP产生的响应,并发送到客户端以响应客户端的请求。
1.重定向网页
使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面(目标路径可以是相对路径,也可以是不同主机的其他URL地址),重定向后request中的属性失效,开始一个新的request对象:

response.sendRedirect(String path)

2.处理HTTP头文件
通过response对象可以设置HTTP响应报头。常用的是禁用缓存、设置页面自动刷新和定时跳转网页。
禁用缓存(使用HTTP头的方法实现):

<%
response.setHeader(“Cache-Control”,”no-store”);
response.setDataHeader(“Expires”,0);
%>
设置页面自动刷新(使用HTTP头的方法实现):
<%
response.setHeader(“refrash”,10);//10秒自动刷新一次
%>
定时跳转网页(使用HTTP头的方法实现):
<%
Response.setHeader(“refrash”,5;URL=login.jsp”)//网页5秒后自动跳转到指定网页
%>

3.设置输出缓冲
当满足JSP页面输出信息已全部写入缓冲区或缓冲区已满或在JSP页面中,调用了response对象的flushBuffer()方法或out对象的flush方法就会把缓冲区的内容写到客户端。
对缓冲区进行配置的方法:

方法说明
response.flushBuffer()强制将缓冲区的内容输出到客户端
response.getBufferSize()获取响应所使用的缓冲区的实际大小,如果没有使用,则返回0
response.setBufferSize()设置缓冲区大小
response.reset()清除缓冲区的内容,同时清除状态码和报头
response.isCommited()检测服务器端是否已经把数据写入客户端
  • (3)session对象

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

session.setAttribute(“name”,”鹭草”)//保存

session.getAttribute(“name”);//读取保存的值

setAttribute()方法返回值是Object类型,如果将获取到的信息赋值给String类型的变量,则需要进行强制类型转换或是调用其toString()方法:

String user=(String)session.getAttribute(“name”);//强制类型转换

String user1=session.getAttribute(“name”).toString();//调用toString()方法

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

<%
session.removeAttribute(“name”);
%>

3.销毁session
语法格式:session.invalidata();
4.会话超时管理
在session对象中设置会话生命周期的方法:

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

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

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

application对象提供了对应用程序初始化参数进行访问的方法。

application.getInitParameter(String name)方法//该方法返回已命名的参数值

application.getAttributeNames()方法//该方法返回所有已定义的应用程序初始化参数名的枚举
  • (5)out对象

    out对象用于在web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用out对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。
    1.向客户端输出数据
    out对象提供了out.print()和out.println()两种方向叶面中输出信息的方法。
    2.管理响应缓冲
    管理缓冲区的方法:

方法说明
out.clear()清除缓冲区的内容
out.claerBuffer()清除当前缓冲区的内容
out.flush()刷新流
out.isAutoFlush()检测当前缓冲区已满时是自动清空,还是抛出异常
out.getBufferSize()获取缓冲区大小
  • (6)pageContext对象

    获取会话范围的pageContext对象的常用方法(很少用,因为request,response,等对象均为内置对象,如果通过pageContext来调用这些对象会比较麻烦):

方法说明
forword(java.lang.String relativeUtlpath)把页面跳转到另一个页面
getAttribute(String name)获取参数值
getAttributeNamesInScope(int scope)获取某范围的参数名称的集合,返回值为java.util.Enumeration对象
getException()返回exceotion对象
getRequest()返回request对象
getResponse()返回response对象
getSession()返回session对象
getOut()返回out对象
getApplication()返回application对象
setAttribute()为指定范围内的属性设置属性值
removeAttribute()删除指定范围内的制定属性
  • (7)config对象

读取web.xml配置信息的config对象常用方法:

方法说明
getServletContext()获取Servlet上下文
getServletName()获取Servlet服务器名
getInitParameter()获取服务器所有初始参数名称,返回值为java.util.Enumeration对象
getInitParameterNames()获取服务器中name参数的初始值
  • (8)page对象

应答或请求的page对象常用方法:

方法说明
getClass()返回当前Object的类
hashCode()返回该Object的哈希代码
toString()把该Object类转化为字符串
equals(Object o)比较该对象和指定对象是否相等
  • (9)exception对象

获取异常信息的exception对象的常用方法:

方法说明
getMessage()返回exception对象的异常信息
getLocalizedmessage()返回本地信化的异常错误
toString()返回关于异常错误的简单那信息描述
fillInStackTrance()重写异常错误的栈执行轨迹
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值