当前位置: 代码迷 >> JavaScript >> JSP学习(4)
  详细解决方案

JSP学习(4)

热度:222   发布时间:2012-12-18 12:43:41.0
JSP学习(四)

?

四:九大内置对象(JSP_0400_NineObject工程)

?

out:

Out内置对象是一个缓冲的输出流,用来给客户端返回信息。它是javax.servlet.jsp.JspWriter的一个实例

典型应用:向客户端输出内容

例:向客户端输出一个字符串“Hello?World

(HelloWorld.jsp)

常用方法:

println():向客户端输出各种类型数据

newLine():输出一个换行符

close():关闭输出流

flush():输出缓冲区里的数据

clearBuffer():清除缓冲区里的数据,同时把数据输出到客户端

clear():清除缓冲区里的数据,但不把数据输出到客户端

getBufferSize():返回缓冲区的大小

?

?

request

request内置对象表示的是调用JSP页面的请求。通常,request对象是javax.servlet.http.HttpServletRequest接口的一个实例

典型应用:通过request.getParameter(paramName)可以获得Form提交过来的参数值

可以用此对象取得请求的Header、信息(如浏览器版本、语言和编码等)、请求的方式(get/post)、请求的参数名称、参数值、客户端的主机名称等

常用方法:

getMethod():返回客户端向服务器端传送数据的方法

getParameter(String?paramName):返回客户端向服务器端传送的参数值,该参数由paramName指定

getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举类型数据(Enumeration

getParameterValues(String??name):获得指定参数的所有值,由name指定

getRequestURI():获得发出请求字符串的客户端地址

getRemoteAddr():获取客户端的IP地址

getRemoteHost():获取客户端机器名称

getServerName():获取服务器的名字

getServletName():客户端所请求的脚本文件路径

getServerPort():获取服务器端的端口

对应类:?javax.servlet.http.HttpServletRequest

?

?

?

response

表示的是返回给客户端的响应

javax.servlethttp.HttpServletResponse接口的一个实例

经常用于设置HTTP标题,添加cookie、设置响应内容的类型和状态、发送HTTP重定向和编码URL

常用方法:

addCookie(Cookie?cookie):添加一个Cookie对象,用于在客户端保存特定的信息

addHeader(String?name,String?value):添加HTTP头信息,该Header信息将发送到客户端

containsHeader(String?name):判断指定名字的HTTP文件头是否存在

sendError(int):向客户端发送错误的信息

sendRedirect(String?url):重定向JSP文件

<jsp:forward>的区别

sendRedirect通过客户端发起二次申请,不同的request对象

Jsp:forward是同一个request,在服务器内部转发

setContentType(String?contentType):设置MIME类型与编码方式

?

?

?

cookie:

Http协议的无连接性要求出现一种保存C/S间状态的机制

Cookie:保存到客户端的一个文本文件,与特定客户相关

Cookie以“名-值”对的形式保存数据

通过getNamegetValue的方式得到相应的名字和值

?

?

session&application

<%?@page?session=true%>(默认)--表示session功能已经在jsp页面中启动

session常用方法:

void?setAttribute(String?name,Object?value)

Object?getAttribute(String?name)

boolean?isNew()

application?

ServletContext

?

pageContext?à用的很少

config?à用的很少

exception

Page用的很少

?

?

?

五:JavaBean

1JavaBean是一个公共的(public)类

2JavaBean是一个不带参数的构造方法

3JavaBean通过setXXX方法设置属性,getXXX方法获取属性

?

Jsp访问JavaBean的语法

1导入JavaBean

2声明JavaBean对象

3访问JavaBean属性

?

?

?

?

六:ServletJSP的通信

JSP调用Servlet可用<jsp:forward>
请求信息自动传递到Servlet

或者通过sendRedirect

?

Servlet调用JSP使用

RequestDispatcher接口的forward(req,?res)方法

请求信息需要显式传递(reqres参数中)

或者通过sendRedirect

?

例如:

FromJspToServlet.jsp?/?ServletToJsp.java?/?ServletUseJsp.jsp

forward可以用?”/”?路径,?是指web?app的根路径,?servlet?forward?jsp的时候一定要用?“/”开头

jsp?sendRedirectservlet应该用相对路径,因为这里”/”指网站的根路径

servlet?sendRedirect?jsp也是

request.getContextPath起作用了

  相关解决方案