JSP

JSP(Java Server Page)
Servlet J2EE的两个基本成员

1,forward指令

执行forward指令时,用户请求的地址依然没有改变,但页面内容却完全变为被forward目标页的内容。**地址栏URL没有改变,表明执行forward后并未产生第二次请求,还是一次请求**。
地址栏的URL没变,页面内容、title都由forward的页面生成

forward和redirect的区别:

1,执行forward后依然是上一次请求,而执行redirect后生成第二次请求。
2,forward的目标页面可以访问原请求的请求参数,因为依然是一次请求,所有原请求的请求参数、request范围的属性全部存在。redirect不能访问原请求的请求参数,因为第二次请求,原请求的请求参数,request范围的属性全部丢失。
3,forward地址栏请求的URL不会改变,redirect地址栏重定向为目标的URL。

2,include

执行forward时,被forward的页面完全代替原有页面;
执行include时,被include的页面只是插入原有页面。
forward拿目标页面代替原有页面,include拿目标页面插入原有页面。

3,JSP中的9个内置对象
application:

用于JSP页面或Servlet之间交换信息。常用方法getAttribute(String attName)、setAttribute(String attName,String attValue)和getInitParameter(String paramName)等

config:
JSP的配置信息。
exception:
代表其他页面中的异常和错误,只有当页面是错误处理页面,即编译指令page的isErrorPage属性为true时,该对象才可以使用。
out:

page:
pageContext:
代表该JSP页面上下文,使用该对象可以访问页面中的共享数据。常用方法有getServletContext()和getServletConfig()
request:

    获取客户端请求参数必须使用该对象。getParameter(String paramName),getParameterValues(String paramName),setAttribute(String attrName,Object attrValue),getAttribute(String attrName)和setCharacterEncoding(String env)等。

reponse:
代表服务器对客户端的响应,reponse常用于重定向,常用的方法有getOutputStream(),sendRedirect()
session:

    代表一次会话,客户端浏览器与站点建立连接时,会话开始,客户端关闭浏览器时,会话结束。常用方法有getAttribute(String attrName),setAttribute(String attrName,Object attrValue)

JSP内置对象都是在_jspService()方法中完成初始化的,
B/S(Browser/Server) C/S(Client/Server)

4,application,session,request,page的区别
application:

    对于整个web应用有效,一旦JSP、Servlet的数据放入application中,该数据可以被该应用下其他所有的JSP、Servlet访问。两个作用:1,在整个Web应用的多个JSP、Servlet中共享数据。
2,访问Web应用的配置参数。

session:
仅对一次会话有效,一旦JSP、Servlet将数据放入session中,该数据可以被本次会话的其他所有JSP、servlet访问。
request:
仅对本次请求有效,一旦JSP、Servlet将数据放入session中,该数据可以被该次请求的其他所有JSP、servlet访问。
page:
仅对当前页面有效,一旦JSP、Servlet将数据放入session中,该数据只可以被当前页面的JSP脚本、声明部分访问。
5,Cookie
Cookie用于记录客户的某些信息,Cookie和Session的不同在于:
Session会随着浏览器关闭而失效,仅存在一次会话中,而Cookie会一直存放在客户端,除非超出Cookie生命期限。
一次会话的含义是:从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开为止。

你可能感兴趣的:(java,jsp,servlet,J2EE)